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

Flash动画制作
Flash MX2004入门与进阶实例:文字和组件(5)
Flash MX2004入门与进阶实例:文字和组件(7)
Flash MX2004入门与进阶实例:时间轴特效和行为(6)
Flash MX2004入门与进阶实例:模板和动画发布(3)
Flash MX2004入门与进阶实例:文字和组件(2)
Flash MX2004入门与进阶实例:文字和组件(6)
Flash MX2004入门与进阶实例:文字和组件(8)
Flash MX2004入门与进阶实例:时间轴特效和行为(1)
Flash MX2004入门与进阶实例:时间轴特效和行为(2)
Flash MX2004入门与进阶实例:时间轴特效和行为(4)
Flash MX2004入门与进阶实例:时间轴特效和行为(9)
Flash MX2004入门与进阶实例:时间轴特效和行为(8)
Flash MX2004入门与进阶实例:模板和动画发布(1)
Flash MX2004入门与进阶实例:模板和动画发布(8)
Flash MX2004入门与进阶实例:模板和动画发布(7)
Flash MX2004入门与进阶实例:文字和组件(1)
Flash MX2004入门与进阶实例:文字和组件(10)
Flash MX2004入门与进阶实例:时间轴特效和行为(3)
Flash MX2004入门与进阶实例:时间轴特效和行为(10)
Flash MX2004入门与进阶实例:文字和组件(4)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 344 ::
收藏到网摘: 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事件。