Flash AS3教程:帧循环学习实例

2016-02-16 19:33 60 1 收藏

岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的Flash AS3教程:帧循环学习实例,希望大家看完后能赶快学习起来。

【 tulaoshi.com - FLASH 】

本例为Flash AS3.0菜鸟学飞系列教程,在上一讲中我们学习了含有多个类的AS3类文件的写法,在这一讲中我们来学习帧循环的运用,希望能给初学Flash AS编程的朋友带来帮助~~

学习AS3菜鸟起飞吧之帧循环

多帧循环

Flash中的帧在默认情况下是循环执行的,租用gotoAndPlay()函数可以实现简单的帧循环,而实现代码的重复执行。
 gotoAndPlay()函数的用途是控制或改变影片剪辑的播放流程,如果在影片的第1帧画面中放置需要重复执行的程序,然后在第2帧加入gotoAndPlay(1)语句。反复执行第1帧画面的程序,那么gotoAndPlay()函数就构成了一个循环程序结构。
 gotoAndPlay()函数没有条件判断功能,是无条件重复的循环结构。但可以和if语句一起使用。形成具有判断终止条件功能的循环。

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

1、新建Flash文档
2、在图层1的第一帧创建一个实例名为mc的影片剪辑实例
3、新建as层,单击第1帧输入代码: 

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/flash/)

  //得到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的属性,表示舞台的宽度。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/flash/)

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

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

图层结构图示:

Flash AS3教程:帧循环学习实例,PS教程,图老师教程网

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

来源:http://www.tulaoshi.com/n/20160216/1572488.html

延伸阅读
标签: flash教程
本文由 中国 sanbos 原创,转载请保留此信息! 本系列Flash教程由中国Flash互助课堂专为Flash新手制作,更多教程和练习请 点击这里 ,在这里有系列的教程、练习,并有老师对练习进行点评与指导,欢迎朋友们的光临!  在学习中遇到问题请到 论坛 发贴交流! 更多AS 3.0教程: http://www.jcwcn.com/portal-topic-topicid-2.html ...
标签: flash教程
本系列Flash教程由中国Flash互助课堂专为Flash新手制作,更多教程和练习请 点击这里 ,在这里有系列的教程、练习,并有老师对练习进行点评与指导,欢迎朋友们的光临!  在学习中遇到问题请到 论坛 发贴交流!   效果演示,鼠标左键按住两端移动: 演示: 坐标中的两点可以确定一条直线,直线与线段不同,线段有长度,而直...
效果如下: 在AS3中显示对象都有一个transform属性,设置这个属性可以改变显示对象的大小,旋转,颜色等特性.transform属性还有它自已的属性, 其中的colorTransform属性就可以改变显示对象的颜色.colorTransform属性必须使用new来设置.格式: 显示对象.transform.colorTransform = new ColorTransform(红色乘数,绿色乘数,蓝色乘数,透明度乘数...
标签: flash教程
本文由 中国 sanbos 原创,转载请保留此信息! 先看效果,看看你的身材如何: 请填写下面的内容,然后点击确定,看看你的体质如何。 [next] 这次我们通过一个体质测试的小东东,来学习AS的文本框的相关内容,同时我们还会用到,组件,对if条件语句进一步地了解。首先我们来看看文本框。 使用文本框 ...
标签: FLASH flash教程
这种相册有一定立体感觉,但由于没有用到BITMAP类,而且在算法上,还有一定的问题。所以制作出来的效果,总不是很理想。让我有些头晕。或许是现在看得太多了的原故吧。呵呵...演示: http://www.taoshaw.com/taoshaw/study/qiang_xiangce/ 制作过程有点复杂。我写慢点吧。这个动画的代码其实不是很难,只是算法上有些麻烦。 1、新建一个...

经验教程

424

收藏

20
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部