引用
一、基本概念方法
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++;}
测试两个小球的运动状态,看效果是否一样?
分享到:
相关推荐
对于大型项目,考虑使用ENTER_FRAME事件而不是Timer,因为它更准确且与舞台同步。 总结来说,基于Timer的动画利用了ActionScript的Timer类,通过设置时间间隔和重复次数来触发事件,进而更新舞台上元素的状态。这种...
4. **时间控制**:使用` ENTER_FRAME`事件监听器可以确保在每一帧更新时执行旋转动画。通过调整事件触发的频率,可以改变动画的速度,从而实现慢速旋转或快速旋转的效果。 5. **交互性**:ActionScript也允许我们为...
- 使用 ENTER_FRAME 事件,每帧都更新时间显示。 - 如果达到结束时间,执行相应的动作,如播放动画或显示消息。 四、ActionScript代码示例 ```actionscript var endDate:Date = new Date(2022, 11, 31, 23, 59, ...
- 事件监听:利用Event.ENTER_FRAME事件确保每次帧渲染时更新时钟显示。 - 动画效果:通过Tween类实现平滑的动画过渡,比如指针的旋转。 - 用户交互:添加按钮或菜单,让用户可以调整时区或开启/关闭某些功能。 五...
6. **时间轴控制**:可能需要使用Timer类或 ENTER_FRAME 事件来实现动态效果,如平滑的选区变化。 通过分析和运行这些文件,我们可以学习到如何使用ActionScript来实现类似Photoshop的蚂蚁线功能,并了解...
使用ACTIONEVENT.ENTER_FRAME事件监听器,可以在每一帧播放时自动触发新的广告显示;通过动态创建和销毁影片剪辑(MovieClip)实例,可以有效地管理内存,避免资源浪费。 仿sina和迅雷的轮播广告设计,可能包含以下...
6. 时间调度:使用Timer类或ENTER_FRAME事件进行定时操作,如检查拼图是否完成。 7. 教程和学习资源:这个实例可以作为AS3游戏开发的实践教程,帮助初学者理解和应用AS3编程。 通过研究这个项目,开发者不仅可以...
4. 事件监听:为实现自动轮播,我们需要监听 TimerEvent.TIMER 和 Event.ENTER_FRAME 事件,根据事件触发相应的动画效果。 5. 整合与发布:最后,将所有元素和代码整合到一起,预览并调整效果,然后导出为SWF格式,...
- **计时器**: 对于长时间运行的任务,使用计时器代替`Event.ENTER_FRAME`事件可以提高效率。 **5、在enterFrame或Timer处理函数中,减少对可导致重绘的显示对象外观的更改** - **重绘**: 减少对象外观的更改次数...
- **事件处理**:利用Event.ENTER_FRAME事件来更新菜单状态,例如调整菜单项的位置以实现滚动效果。同时,添加MouseEnter和MouseLeave事件监听器来控制滚动的暂停和恢复。 - **计时器**:使用Timer类来控制菜单滚动...
- 使用Enter Frame事件或Timer类来定期更新文本框的内容,确保显示的时间始终与系统时间同步。 - 测试动画,确保一切正常工作。 - 最后,将FLA文件导出为SWF文件,以便在网页或其他支持的平台上播放。 通过理解这些...
5. 事件监听:通过监听`Event.COMPLETE`或`Event.ENTER_FRAME`等事件来处理图片加载完成或每帧更新的动作。 6. 用户交互:可能还包括添加按钮或鼠标悬停事件,让用户能够手动控制图片的切换。 在实践中,理解和...
5. **事件监听**:可能使用了`Event.ENTER_FRAME`事件,每当舞台进入新的一帧时,执行滚动函数,确保文本的平滑滚动。 6. **优化滚动效果**:可能通过调整定时器的时间间隔、添加缓动效果(例如使用Ease类库)来...
ActionScript的`Timer`类可以创建定时事件,结合`Event.ENTER_FRAME`或`TimerEvent.TIMER`事件处理滚动逻辑。 2. 滚动条组件:Flash提供内置的ScrollBar组件,可以通过ActionScript调整其属性,如值、最小值、最大...
使用`Event.ENTER_FRAME`或`Timer`类可以实现定时切换。 "新闻图片过渡仿新浪bcastr3"这个案例可能是一个模仿新浪网站图片过渡效果的Flash实现。它可能包含更复杂的过渡动画,如模拟新闻滚动条的效果,或者结合了...
3. 动画控制:使用 ENTER_FRAME 事件来实现每帧更新,切换图片显示。 4. 定时器:使用 Timer 类设置自动切换时间间隔,定时触发切换事件。 5. 图片过渡效果:可能包含淡入淡出、滑动等过渡动画,通过改变图片的透明...
As3.0中的` ENTER_FRAME`事件常用于创建连续的动画效果,每帧都会触发一次,通过改变指针的位置来模拟旋转。 5. **发布为exe文件**:项目不仅包含了源代码,还包含了一个已经编译为exe的可执行文件,这表明开发者...
1. **使用帧循环事件**:通过监听`Event.ENTER_FRAME`事件来实现在每一帧更新显示对象的状态,从而实现动画效果。 2. **使用定时器**:利用`Timer`类来定时更新显示对象,这种方式允许开发者更精细地控制动画的播放...
窗口类 CNeatView 视图类 ................................................................................................................... 26 CNeatControl 类 ............................................
16. **文本框事件**:在文本框的KeyPress事件中,可以检测用户按下键盘上的Enter键。 17. **HTTP请求参数**:在Servlet或JSP中,通过HttpServletRequest对象的getParameter()方法获取HTTP请求中的参数。 18. **...