flash实例-打造鼠标触发火焰特效

2019-10-08 14:16:28王振洲

flash实例-打造鼠标触发火焰特效
图6 绘制矩形
  (7)使用“任意变形工具”选择矩形,然后按Ctrl+T组合键打开“变形”面板,设置旋转为45°,再单击“重制选区和变形”按钮 ,复制出3份图形,如图7所示。
flash实例-打造鼠标触发火焰特效
图7 复制图形
  (8)复制出5个图形,然后将其调整成如图8所示的颜色,再将复制出的图形转换为影片剪辑,并将其分别命名为01、02、03、04和05 。
flash实例-打造鼠标触发火焰特效
图8 复制图形
  (9)将01、02、03、04和05 影片剪辑分别放置在Magic_mc图层的5个关键帧上,然后分别为其添加不同的“发光”滤镜,再新建一个AS图层,最后在“动作-帧”面板中输入stop():程序,如图9所示。
flash实例-打造鼠标触发火焰特效
图9 应用滤镜效果
  二、 创建元件类 添加控制代码
  (1)采用前面的方法分别为Magic_mc和Star_mc影片剪辑添加元件类,如图10所示。
flash实例-打造鼠标触发火焰特效
图10 添加元件类
  (2)新建一个ActionScript文件,将其命名为Main,然后将其保存在该实例的文件夹中,再输入控制代码。
  * 该类为扩展元件类
  * @author lbynet
  * @version 0.1
  */
  package {
  import flash.display.MovieClip;
  import flash.events.Event;
  public class Magic_mc extends MovieClip {
  private var dis:Number;
  public function Magic_mc() {
  init();
  }
  private function init() {
  var Random = 1 + Math.round(Math.random()*4);
  this.gotoAndStop(Random);
  this.scaleX = this.scaleY = Math.random();
  //产生随机数-5到5之间的随机数
  dis = Math.round((Math.random()-.5)*10);
  this.addEventListener(Event.ENTER_FRAME,enterFrameHandler);
  }
  private function enterFrameHandler(event:Event) {
  this.y += 5;
  this.x += dis;
  this.scaleX -=.005;
  this.scaleY -=.005;
  }
  }
  }
  技巧与提示:
  第19和20行代码是为该元件类创建一个1~5之间的随机数,使该影片剪辑元件类在实例化(被创建时)时将播放头移到并停止在指定的时间帧上。
  Math.random()方法产生0~1之间的随机数,Math.random()*4方法返回到0~4之间的随机数,而 Math.round()方法用于向上或向下舍入为最接近的整数并返回该值,所以1+Math.round(Math.random()*4)方法取得 1~5之间的随机整数值;gotoAndStop()语句使影片剪辑的播放头移到并停止在指定的时间帧上。