当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash AS3.0菜鸟学飞教程:帧循环学习实例

Flash动画制作
Flash MV音乐和字幕的制作(下)
最强大的Flash反编译工具(一)
Flash制作空战游戏(四)
Flash菜单轻松做 上
Flash菜单轻松做 下
Flash 三小时上手
Flash 三小时上手(二)
Flash 三小时上手(三)
Flash5 位移操作(三)
Flash层的运用(三)
Flash层的运用(四)
实例学用Flash MX增强的AS功能(1)
Flash MX的自由变形工具(2)
Flash MX 视频导入功能详解(1)
Flash MX 文本工具手册(1)
Flash MX 文本工具手册(2)
Flash MX 文本工具手册(3)
Flash MX 文本工具手册(4)
Flash MX 文本工具手册(5)
Flash MX 文本工具手册(6)

Flash动画制作 中的 Flash AS3.0菜鸟学飞教程:帧循环学习实例


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 367 ::
收藏到网摘: n/a

上面的例子执行代码的速度只有帧频的一半,而且代码分散,不适合制作复杂的应用程序。我们可以利用enterFrame事件以帧频的速度执行代码,而且代码可以集中在一帧。

用enterFrame事件制作匀速运动:

1、新建Flash文档
2、在图层1创建一个实例名为mc的影片剪辑
3、新建as图层,单击第1帧,输入代码:
  //动态更改帧频
  stage.frameRate = 30;
//获取mc初始位置
  var dx:Number = mc.x;
//定义速度
  var speed:Number = 5;
//注册侦听器
  mc.addEventListener(Event.ENTER_FRAME,onMove);
//定义事件接收函数
  function onMove(e:Event)
{
//坐标加速度
    dx += speed;
//影片剪辑的坐标
   e.target.x = dx; 
//如果影片运动到舞台右边界
   if(ds > stage.stageWidth)
{
//移除enterFrame事件
    mc.removeEventListener(Event.ENTER_FRAME,onMove);
}
}

代码使用了Event类的ENTER_FRAME属性,接收函数中参数e是Event类的实例,它具有target属性,target表示事件发送者mc。

4、测试影片
使用enterFrame事件可实现代码的重复执行,它执行的速度与帧频有关。
提示:当不需要使用enterFrame事件时,一定要用removeEventListener()函数来删除enterFrame事件。