点击这里给我发消息 点击这里给我发消息
首页 > 行业资讯 > flash>详细内容

Flash AS3.0菜鸟学飞教程:帧循环学习实例

添加时间:2011-6-25
    相关阅读: 程序 制作

多帧循环

  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,所以动画效果会显得不流畅。

  图层结构图示:

  

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

 

本文作者:未知
咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册