手机
当前位置:查字典教程网 >网页设计 >Flash教程 >Flash AS3入门教程:用帧循环制作匀速运动
Flash AS3入门教程:用帧循环制作匀速运动
摘要:本教程是向大家介绍利用FlashAS3代码编写用帧循环制作匀速运动,介绍的很详细,转发过来,希望大家通过这篇教程能学会帧循环的运用,给给初学...

本教程是向大家介绍利用Flash AS3代码编写用帧循环制作匀速运动,介绍的很详细,转发过来,希望大家通过这篇教程能学会帧循环的运用,给给初学Flash AS编程的朋友带来帮助~~

多帧循环

Flash中的帧在默认情况下是循环执行的,租用gotoAndPlay()函数可以实现简单的帧循环,而实现代码的重复执行。

gotoAndPlay()函数的用途是控制或改变影片剪辑的播放流程,如果在影片的第1帧画面中放置需要重复执行的程序,然后在第2帧加入gotoAndPlay(1)语句。反复执行第1帧画面的程序,那么gotoAndPlay()函数就构成了一个循环程序结构。

gotoAndPlay()函数没有条件判断功能,是无条件重复的循环结构。但可以和if语句一起使用。形成具有判断终止条件功能的循环。

下面用帧循环制作匀速运动:

1、新建Flash文档

2、在图层1的第一帧创建一个实例名为mc的影片剪辑实例

3、新建as层,单击第1帧输入代码:

复制代码代码如下://得到mc的横坐标

var dx:Number = mc.x;

//定义速度

var speed:Number = 10;

4、在as层的第2帧插入空白帧,输入代码;

//横坐标加上速度

dx += speed;

//设置mc的横坐标

mc.x = dx;

5、在as层的第3帧插入空白帧,输入代码:

//判断是否超出舞台边界

if(dx < stage.stageWidth)

{

//跳到第2帧并播放

this.gotoAndPlay(2);

//如超出舞台的右边界

} else

{

//停止播放

this.stop();

}

stage是Stage类的实例,Stage类有名为stageWidth的属性,表示舞台的宽度。

6、测试影片,可以看到影片实例会一直运动到舞台的右边界。

从测试结果看,影片的运动并不流畅,这与帧频和帧循环结构有关。Flash默认帧频是12FPS,就是一秒播放12帧。上面的程序由于使用了帧跳转语句,实际需要每播放两帧才会执行第2帧的代码一次,这就是说第2帧的代码执行频率是6FPS,所以动画效果会显得不流畅。

图层结构图示:

Flash AS3入门教程:用帧循环制作匀速运动1

上面的例子执行代码的速度只有帧频的一半,而且代码分散,不适合制作复杂的应用程序。我们可以利用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事件。

以上就是Flash AS3代码编写用帧循环制作匀速运动,希望对大家有所帮助!

【Flash AS3入门教程:用帧循环制作匀速运动】相关文章:

教你把Flash动画制作成gif动画

Flash AS 教程:构造函数(Constructor)

Flash教你如何制作吹泡泡动画特效

Flash AS 入门教程 setInterval函数应用举例

Flash游戏开发教程:第八节

Flash实例教程:新年快乐镜面跳动字动画

flash基础教程-逐帧动画、形变动画、运动动画

Flash AS教程:制作彩色线条动画

Flash教程:制作3D旋转动画效果

Flash AS3教程:实现鼠标跟随炫舞线条动画效果

精品推荐
分类导航