WEB开发网
开发学院图形图像Flash Flash AS3教程:下雪动画效果 阅读

Flash AS3教程:下雪动画效果

 2008-07-31 11:23:18 来源:WEB开发网   
核心提示: 下面我们就来做一个下雪效果的练习,将上面的知识点运用到实例中,Flash AS3教程:下雪动画效果(4),实例练习-下雪效果效果演示打开flash cs3,选择新建flash文件(ActionScript 3.0).导入一张背景图片,要不然,就会雪越下越多,在场景中放好,新建一个影片剪辑元

下面我们就来做一个下雪效果的练习,将上面的知识点运用到实例中。

实例练习-下雪效果

效果演示

打开flash cs3,选择新建flash文件(ActionScript 3.0).

导入一张背景图片,在场景中放好。

新建一个影片剪辑元件,将舞台放大到800%,用椭园工具,画一个无笔触,填充色为放射将白色左色标透明度为100%,右色标透明度0%的椭园,大小这 4x3,用选择工具调整一下,使其不太规则。在第30帧插入关键帧。插入引导层,画一条由上向下的弯曲引导线。回到第一层,在第一帧和30帧,分别将椭园放到引导线的两端,建立补间动画。

如图: 

Flash AS3教程:下雪动画效果

放大至800%时  

Flash AS3教程:下雪动画效果

打开库,在元件上右击,打开连接面板,在类文本框中输入:xl,确定。  

Flash AS3教程:下雪动画效果

回到主场景,新插入一图层,命名为action,打开动作面板:输入:

  var i:Number = 1;
  addEventListener(Event.ENTER_FRAME,xx);
  function xx(event:Event):void {
  var x_mc:xl = new xl();
  addChild(x_mc);
  x_mc.x = Math.random()*550;
  x_mc.scaleX = 0.2 + Math.random();
  x_mc.scaleY = 0.2 + Math.random();
  i++;
  if(i>100){
  this.removeChildAt(1);
  i=100;
  }
  }

ok,完成。

上面的代码,在基础介绍中都已说明了,应该一看就明白了。有几句解释一下。

x_mc.scaleX = 0.2 + Math.random();

x_mc.scaleY = 0.2 + Math.random();

0.2 + Math.random();会产生0.2-1.2间的随机数,这就让雪花缩小到20%到放大到120%间,落下来的雪花,大小不一,显得更加真实一些。

removeChildAt(n);是删除已加载的显式对象,其中的n是已加载的对象的索引号。从addEventListener (Event.ENTER_FRAME,xx);这一句可以看出,运行一帧,就会从库中加载一个雪花,同时i加,这样当i等于100时,场景中就已有 100个雪花了。这个时候我们用this.removeChildAt(1);将最先加载的雪花删除。然后将i设为100,到下一帧,i就又大于100 了,那么要加载1个雪花,同时又删除了一个雪花,这就达到了一个动态平衡,场景中始终只有100个雪花。要不然,就会雪越下越多,造成雪灾就不好了。

上一页  1 2 3 4 

Tags:Flash AS 教程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接