中国教程网论坛's Archiver

asok00000 发表于 2009-11-6 10:53

关于下雪效果的一个问题

[i=s] 本帖最后由 asok00000 于 2009-11-6 10:55 编辑 [/i]

自己做了一个下雪的半成品,只有一个雪花要动,请高手支招
我的思路是这样子的:通过一个源剪辑复制出一百个雪花,然后通过延时函数来调用改变雪花的位置和alpha值的函数,但是好像不行
谢谢

cao4811 发表于 2009-11-6 11:16

把代码发上来

asok00000 发表于 2009-11-6 18:34

[quote]把代码发上来
[size=2][color=#999999]cao4811 发表于 2009-11-6 11:16[/color] [url=http://bbs.jcwcn.com/redirect.php?goto=findpost&pid=6139296&ptid=278886][img]http://bbs.jcwcn.com/images/common/back.gif[/img][/url][/size][/quote]
代码在源文件里面……

asok00000 发表于 2009-11-6 18:34

代码:
var nomalheight:Number,nomalwidth:Number,xpos:Number,ypos:Number,nametemp:Number,icounter:Number,a:Number,j:Number;
var namelist=new Array();
nametemp=0;
function setproperty(mc:MovieClip):Void
{
        mc._x=mc._x+1;
        mc._y=mc._x+1;
        mc._alpha --;
}
for(i=0 ; i <= 100 ; i++)
{
        var rnd:Number,rnd1:Number;
        rnd=random(500);
        rnd1=random(300);
        namelist[i]="snow" +nametemp;
        duplicateMovieClip("snowflower",namelist[i],i);
        _root[namelist[i]]._x=rnd;
        _root[namelist[i]]._y=rnd1;
        nametemp=nametemp+1;
       
}
a=0;
j=0;
//while(a <= 100)
//{
        //while(j <= 1000)
        //{
                ///_root[namelist[a]]._y =_root[namelist[a]]._y +1;
                //_root[namelist[a]]._x =_root[namelist[a]]._x +1;
                //setTimeout(setproperty,10,_root[namelist[a]]);
                //j=j+1;
        //}
        //if(j<=100)
        //{
        //        j=j+1;
        //}
        // a=a+1;
//}


        //_root[namelist[a]]._x ++;
        //_root[namelist[a]]._y --;
        //setTimeout(setproperty,10,_root[namelist[a]]);
        while(a <= 100)
        {
          setInterval(setproperty,50,_root[namelist[0]]);
          a =a+1 ;
        }
        setInterval(setproperty,50,_root[namelist[1]]);
        //setInterval(setproperty,100000,_root[namelist[2]]);
        //a++;

cao4811 发表于 2009-11-7 08:16

[b] [url=http://bbs.jcwcn.com/redirect.php?goto=findpost&pid=6140843&ptid=278886]4#[/url] [i]asok00000[/i] [/b]
不懂2.0代码,下面是3.0的代码,是纯代码的下雪效果,很简单的可以参考一下。[code]package {
        import flash.display.Shape;
        //import flash.display.MovieClip;
        import flash.events.Event;
        import flash.filters.BlurFilter;

        public class Snowflake extends Shape {
                private var stageWidth:int = 550;
                private var stageHeight:int = 450;
                private var highestDropSpeed:uint = 16;
                private var dropSpeed:int = Math.round(Math.random() * Math.random() * highestDropSpeed);
                private var incrementer:int = Math.round(Math.random() * 100);
                private var shades:Array = [0xFFFFFF,0xCCCCCC,0x999999,0x666666];
                private var windSpeed:int = 2;

                public function Snowflake() {
                        graphics.beginFill(shades[Math.ceil(Math.random() * shades.length)]);
                        graphics.drawCircle(0,0,4);
                        graphics.endFill();

                        filters = [new BlurFilter(1,dropSpeed,1)];
                        addEventListener(Event.ENTER_FRAME,update);
                        reset();
                }
                private function reset():void {
                        y=Math.random() * stageHeight*-1;
                        x=Math.random() * stageWidth-windSpeed*100;
                        scaleX=scaleY = 0.25 + Math.random() * Math.random() * 0.75;
                }
                private function update(e:Event):void {
                        y += dropSpeed;
                        x += windSpeed+Math.sin(incrementer / 10) * 1 /dropSpeed / 3;
                        if (y > stageHeight) {
                                reset();
                        }
                        incrementer++;
                }
        }
}[/code]

cyhyan 发表于 2009-11-7 19:36

路过

asok00000 发表于 2009-11-7 21:43

[quote] 4# asok00000
不懂2.0代码,下面是3.0的代码,是纯代码的下雪效果,很简单的可以参考一下。package {
        import flash.display.Shape;
        //import flash.display.MovieClip;
        import flash.events.Event;
        impor ...
[size=2][color=#999999]cao4811 发表于 2009-11-7 08:16[/color] [url=http://bbs.jcwcn.com/redirect.php?goto=findpost&pid=6141983&ptid=278886][img]http://bbs.jcwcn.com/images/common/back.gif[/img][/url][/size][/quote]
谢了,我有下雪的代码,只是我想自己做一个自己的下雪动画而已

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.