快速业务通道

Flash AS 教程:动画事件

作者 凌众技术 来源 网页制作 浏览 发布时间 2012-03-10

动画事件

我们希望能够使用代码让物体动起来,并允许屏幕反复地刷新。前面看过一个使用 enterFrame 影片事件的示例。现在把这种方法运用到 AS 3 中,只需要增加一个 enterFrame 事件的侦听器即可:

addEventListener(Event.ENTER_FRAME, onEnterFrame);

别忘了导入 Event 类,并创建一个名为 onEnterFrame 的方法。人们常常迷惑,只有一帧怎么能执行 enterFrame(进入帧) 事件呢?事实上,播放头并非真正地在进入下一帧,它只停留在第一帧上,并不是把播放头移动到下一帧才形成了 enterFrame 事件,而是用另一种方法:Flash 告诉播放头何时进行移动,可以把 enterFrame 看成一个定时器,只是有些不精确。
下面我们看看第一个 AS 3 动画:

package {
 import flash.display.Sprite;
 import flash.events.Event;
 public class FirstAnimation extends Sprite {
  private var ball:Sprite;
  public function FirstAnimation() {
   init();
  }
  private function init():void {
   ball = new Sprite();
   addChild(ball);
   ball.graphics.beginFill(0xff0000);
   ball.graphics.drawCircle(0, 0, 40);
   ball.graphics.endFill();
   ball.x = 20;
   ball.y = stage.stageHeight / 2;
   ball.addEventListener(Event.ENTER_FRAME, onEnterFrame);
  }
  private function onEnterFrame(event:Event):void {
   ball.x++;
  }
 }
}

init 函数创建了一个名为 ball 的 Sprite 影片,并为其建立事件侦听。 onEnterFrame 函数负责 ball 的运动及屏幕刷新工作。这是学习本书内容的基础,也是使用 ActionScript 创建动画的基础,所以务必要掌握。
 
显示列表

在 AS 3 之前,人们可以创建多个不同类型的可视化对象,包括影片剪辑,图形,按钮,文本框,位图,组件和基本形状。这些对象没有真正的层次结构,它们的创建、删除、操作方法也均不相同。比如,在 IDE 中,可以使用 attachMovie ,duplicateMovieClip 或 createEmptyMovieClip 的方法将影片剪辑放置于舞台上,文本框可以在开发环境中创建也可以用代码创建。而在使用位图(bitmap),视频(video)及组件(component)时,它们就像是来自于别的星球,最终被强硬地放在一起。

对于 AS 3 来说,这些对象都有了统一的归属。在舞台上所有可见的对象都继承自

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号