用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事件。
分页: [1] [2]
- 上一篇:初识Flash AS3.0
- 下一篇:一点网络 www.sz028.com