`
ch_kexin
  • 浏览: 899415 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

TIMER类与ENTER_FRAME事件 - [FLASH 脚本]

阅读更多
引用


      一、基本概念方法

      ENTER_FRAME事件:

      sp.addEventListener(Event.ENTER_FRAME,b)与

      sp.addEventListener(“enterFrame”,b)等效

         注意:不论sp是否加载到显示列表,sp都在不停的调用方法b。此外,MouseEvent.MOUSE_DOWN,KeyboardEvent.KEY_DOWN,TimerEvent.TIMER 等。这些都由 "mouseDown" , "keyDown" , "timer" 这样的简单字符串来表示。

      Timer类

        Timer 类是 Flash Player 计时器的接口。 可以创建新的 Timer 对象,以便按指定的时间顺序运行代码。使用 start() 方法来启动计时器。 为 timer 事件添加事件侦听器,以便将代码设置为按计时器间隔运行。

          可以创建 Timer 对象以运行一次或按指定间隔重复运行,从而按计划执行代码。 取决于 SWF 文件的帧频或 Flash Player 的环境(可用内存及其它因素),Flash Player 会能会按稍有偏差的间隔调度事件。 例如,如果某个 SWF 文件设置为以每秒 12 帧 [fps](也就是 83 毫秒的间隔)的速度播放,但计时器设置为在 70 毫秒时触发事件,控制小球运动的话,测试的效果会出现不连贯的现象,因为 Flash Player 将按接近于 83 毫秒的间隔触发事件;另外,大量耗费内存的脚本也可能使事件发生偏差。

      构造函数:

      public 函数 Timer(delay:Number, repeatCount:int = 0)

      使用指定的 delay 和 repeatCount 状态构造新的 Timer 对象。 计时器不会自动启动;必须调用 start() 方法来启动它。

      参数

      
      delay:Number — 计时器事件间的延迟(以毫秒为单位)。
       repeatCount:int (default = 0) — 指定重复次数。 如果为 0,则计时器重复无限次数。 如果不为 0,则将运行计时器,运行次数为指定的次数,然后停止。

       方法:

      reset():void 如果计时器正在运行,则停止计时器,并将 currentCount 属性设回为 0,这类似于秒表的重置按钮。

      start():void 如果计时器尚未运行,则启动计时器。

      stop():void 停止计时器。

      事件:

      timerComplete  每当它完成 Timer.repeatCount 设置的请求数后调度。

      两者区别:

          ENTER_FRAME是按帧发生的,Timer是你可以自定义的时间和循环次数.

       二、事件应用:

      用ENTER_FRAME控制小球圆周运动

      var sp:Sprite=new Sprite();

      sp.graphics.beginFill(0xff0000,0.8);

      sp.graphics.drawCircle(0,0,25);

      sp.graphics.endFill();

      addChild(sp);

      var i:int=0;

      //stage.frameRate=30;

      addEventListener(Event.ENTER_FRAME,ballMove);

      //addEventListener("enterFrame",ballMove);

      function ballMove(e:Event):void{

          sp.x=275+Math.cos(i*Math.PI/180)*100;  

      sp.y=200+Math.sin(i*Math.PI/180)*100;  

       i++;}

      用TIMER控制小球圆周运动:

      var sp:Sprite=new Sprite();

      sp.graphics.beginFill(0xff0000,0.8);

      sp.graphics.drawCircle(0,0,25);

      sp.graphics.endFill();

      addChild(sp);

      var myTimer:Timer=new Timer(83.3,0);//关于该数的设置见TIMER类的说明

      myTimer.start();

      myTimer.addEventListener(TimerEvent.TIMER,ballMove);

      //myTimer.addEventListener("timer",ballMove);

      var i:int=0;

      function ballMove(e:Event):void{ 

        sp.x=275+Math.cos(i*Math.PI/180)*100;  

       sp.y=200+Math.sin(i*Math.PI/180)*100; 

        i++;}

      测试两个小球的运动状态,看效果是否一样?
分享到:
评论

相关推荐

    flash基于Timer的动画

    对于大型项目,考虑使用ENTER_FRAME事件而不是Timer,因为它更准确且与舞台同步。 总结来说,基于Timer的动画利用了ActionScript的Timer类,通过设置时间间隔和重复次数来触发事件,进而更新舞台上元素的状态。这种...

    圆环旋转动画,flash 脚本源码.rar

    4. **时间控制**:使用` ENTER_FRAME`事件监听器可以确保在每一帧更新时执行旋转动画。通过调整事件触发的频率,可以改变动画的速度,从而实现慢速旋转或快速旋转的效果。 5. **交互性**:ActionScript也允许我们为...

    FLASH倒计时器完整版资料.ppt

    - 使用 ENTER_FRAME 事件,每帧都更新时间显示。 - 如果达到结束时间,执行相应的动作,如播放动画或显示消息。 四、ActionScript代码示例 ```actionscript var endDate:Date = new Date(2022, 11, 31, 23, 59, ...

    三个 精品 flash 时钟

    - 事件监听:利用Event.ENTER_FRAME事件确保每次帧渲染时更新时钟显示。 - 动画效果:通过Tween类实现平滑的动画过渡,比如指针的旋转。 - 用户交互:添加按钮或菜单,让用户可以调整时区或开启/关闭某些功能。 五...

    PS蚂蚁线

    6. **时间轴控制**:可能需要使用Timer类或 ENTER_FRAME 事件来实现动态效果,如平滑的选区变化。 通过分析和运行这些文件,我们可以学习到如何使用ActionScript来实现类似Photoshop的蚂蚁线功能,并了解...

    Flash轮播广告代码

    使用ACTIONEVENT.ENTER_FRAME事件监听器,可以在每一帧播放时自动触发新的广告显示;通过动态创建和销毁影片剪辑(MovieClip)实例,可以有效地管理内存,避免资源浪费。 仿sina和迅雷的轮播广告设计,可能包含以下...

    拼图游戏实例as3

    6. 时间调度:使用Timer类或ENTER_FRAME事件进行定时操作,如检查拼图是否完成。 7. 教程和学习资源:这个实例可以作为AS3游戏开发的实践教程,帮助初学者理解和应用AS3编程。 通过研究这个项目,开发者不仅可以...

    简约的Flash图片淡入淡出轮显切换特效.rar

    4. 事件监听:为实现自动轮播,我们需要监听 TimerEvent.TIMER 和 Event.ENTER_FRAME 事件,根据事件触发相应的动画效果。 5. 整合与发布:最后,将所有元素和代码整合到一起,预览并调整效果,然后导出为SWF格式,...

    Flash优化技巧整理

    - **计时器**: 对于长时间运行的任务,使用计时器代替`Event.ENTER_FRAME`事件可以提高效率。 **5、在enterFrame或Timer处理函数中,减少对可导致重绘的显示对象外观的更改** - **重绘**: 减少对象外观的更改次数...

    as3.0滚动菜单

    - **事件处理**:利用Event.ENTER_FRAME事件来更新菜单状态,例如调整菜单项的位置以实现滚动效果。同时,添加MouseEnter和MouseLeave事件监听器来控制滚动的暂停和恢复。 - **计时器**:使用Timer类来控制菜单滚动...

    Flash时间动画(源文件)

    - 使用Enter Frame事件或Timer类来定期更新文本框的内容,确保显示的时间始终与系统时间同步。 - 测试动画,确保一切正常工作。 - 最后,将FLA文件导出为SWF文件,以便在网页或其他支持的平台上播放。 通过理解这些...

    FLASH制作图片轮换广告核心代码

    5. 事件监听:通过监听`Event.COMPLETE`或`Event.ENTER_FRAME`等事件来处理图片加载完成或每帧更新的动作。 6. 用户交互:可能还包括添加按钮或鼠标悬停事件,让用户能够手动控制图片的切换。 在实践中,理解和...

    FLASH中文本区文本自动滚动

    5. **事件监听**:可能使用了`Event.ENTER_FRAME`事件,每当舞台进入新的一帧时,执行滚动函数,确保文本的平滑滚动。 6. **优化滚动效果**:可能通过调整定时器的时间间隔、添加缓动效果(例如使用Ease类库)来...

    flash滚动显示

    ActionScript的`Timer`类可以创建定时事件,结合`Event.ENTER_FRAME`或`TimerEvent.TIMER`事件处理滚动逻辑。 2. 滚动条组件:Flash提供内置的ScrollBar组件,可以通过ActionScript调整其属性,如值、最小值、最大...

    网页图片切换 flash

    使用`Event.ENTER_FRAME`或`Timer`类可以实现定时切换。 "新闻图片过渡仿新浪bcastr3"这个案例可能是一个模仿新浪网站图片过渡效果的Flash实现。它可能包含更复杂的过渡动画,如模拟新闻滚动条的效果,或者结合了...

    图片轮播--相当好用,可以试试哦

    3. 动画控制:使用 ENTER_FRAME 事件来实现每帧更新,切换图片显示。 4. 定时器:使用 Timer 类设置自动切换时间间隔,定时触发切换事件。 5. 图片过渡效果:可能包含淡入淡出、滑动等过渡动画,通过改变图片的透明...

    时针走动的时钟---As3.0

    As3.0中的` ENTER_FRAME`事件常用于创建连续的动画效果,每帧都会触发一次,通过改变指针的位置来模拟旋转。 5. **发布为exe文件**:项目不仅包含了源代码,还包含了一个已经编译为exe的可执行文件,这表明开发者...

    ActionScript3.0自学手册

    1. **使用帧循环事件**:通过监听`Event.ENTER_FRAME`事件来实现在每一帧更新显示对象的状态,从而实现动画效果。 2. **使用定时器**:利用`Timer`类来定时更新显示对象,这种方式允许开发者更精细地控制动画的播放...

    PT80-NEAT开发指南v1.1

    窗口类 CNeatView 视图类 ................................................................................................................... 26 CNeatControl 类 ............................................

    2021-2022计算机二级等级考试试题及答案No.18863.docx

    16. **文本框事件**:在文本框的KeyPress事件中,可以检测用户按下键盘上的Enter键。 17. **HTTP请求参数**:在Servlet或JSP中,通过HttpServletRequest对象的getParameter()方法获取HTTP请求中的参数。 18. **...

Global site tag (gtag.js) - Google Analytics