作者:zccst
这是指以每帧的时间来循环执行某一操作
Event.ENTER_FRAME在结束监听前就是一个循环,不同的是,Event.ENTER_FRAME有周期,和帧频有关,周期性的运行方法体,而for,在有限次数内循环。两者没有冲突。现举例说明两个函数。
var array:Array=new Array();
for(var j:int=0;j<10;j++)
{
mc:movieclip=new movieclip();/*movieclip为库中的一个类元件,类名为movieclip;这是基本知识,不懂也没办法*/
stage.addChild(mc);//场景中加载一个mc
mc.x=j*10;
mc.y=j*10;
array.push(mc);//将此mc存放到数据元素中以方便操作
}
//以上for循环将生成十个mc,分别放到数组中。
stage.addEventListener(Event.ENTER_FRAME,run);//监听
function run (event:Event):void//此中方法体每帧实现一次,每次将使十个mc的x,y分别自加1
{
for(var i:int=0;i<array.length;i++)
{
array[i].x++;
array[i].y++;
}
}
你可以把EnterFrame看成一个timer,由帧速率决定周期的一个timer,定时触发处理函数;
不过要知道跟timer还有点区别:
举个例子: Flash的stage.FrameRate设置为 25即,Event.EnterFrame的出发间隔为40ms,如果Event.EnterFrame的执行函数花费时间为25ms,那么Event.EnterFrame将以间隔40ms的恒定频率运行。
Timer就不一样了,Timer 设置为 间隔40ms,而Timer的函数运行花费25ms,那么,Timer将以65ms的间隔恒定运行。
如果您觉得本文的内容对您的学习有所帮助,您可以微信:
- 大小: 36.8 KB
分享到:
相关推荐
import flash.events.Event; import fl.motion....stage.addEventListener(Event.ENTER_FRAME,timeZZ); stage.addEventListener(Event.ENTER_FRAME,xunhuan); function xunhuan(e:Event){ this.b_mc.rotation }
具体实现方法是在`fadeCircle`函数中增加逻辑,在透明度为0后,重新设置其`alpha`值为1,并重新添加`Event.ENTER_FRAME`监听器,使得元素能够再次淡出。这样循环往复,就能实现闪烁效果。 ```as private function ...
`Event.ENTER_FRAME`,通常被称为`enterFrame`事件,是ActionScript中一种特殊的事件类型,它会在每一帧更新之前被触发。这意味着每当Flash Player准备绘制新的一帧时,所有注册了`enterFrame`事件监听器的对象都会...
addEventListener(Event.ENTER_FRAME, onEnterFrame); } private function onEnterFrame(event:Event):void { var currentTime:uint = getTimer(); _frameCount++; if (currentTime - _lastTime >= 1000) { ...
在这个代码中,我们利用Event.ENTER_FRAME事件监听器来确保每帧都执行updateTime函数,从而达到每秒更新时间的效果。toLocaleTimeString()方法则会将日期对象转换为用户本地的时间格式。 除了基本的时间显示,还...
此外,Flex的事件驱动模型使得响应用户输入变得简单,比如使用Event.ENTER_FRAME事件来更新游戏状态,每帧都检查方块的运动和状态变化。同时,Flex的动画支持(如Tween和Animate类)也能为游戏增添更丰富的视觉效果...
6. **事件处理**:使用ActionScript中的事件监听机制,如`Event.COMPLETE`(文件加载完成)和`Event.ENTER_FRAME`(每一帧执行),实现播放器的响应性。 7. **交互性**:Flash的交互性强大,可以实现如歌曲列表选择...
针对这些问题,我们可以利用Flash中的`Event.ENTER_FRAME`事件来构建更加灵活和优化的游戏循环。 `Event.ENTER_FRAME`事件在每一帧开始时触发,为游戏提供了一个统一的控制点。通过监听这个事件,开发者可以确保...
addEventListener(Event.ENTER_FRAME ,xx);//每当进入下一帧就会触发事件 function xx(event:Event):void { var my1:rain=new rain ;//数字雨最外面的一层~嘿嘿写的是 I love you 想想,但是不容易看清楚=-= my1.x...
addEventListener(Event.ENTER_FRAME, onEnterFrame); channel.addEventListener(Event.SOUND_COMPLETE, onPlaybackComplete); } private function onEnterFrame(event:Event):void { var bytes:ByteArray = ...
event.target.removeEventListener(Event.ENTER_FRAME, enterFrameHandler); } else if (_num<0 && event.target.x>_center.x) { event.target.removeEventListener(Event.ENTER_FRAME, ...
super().__init__(parent,title=title,size=(500,200),style=wx.DEFAULT_FRAME_STYLE|wx.STAY_ON_TOP) self.InitUI() def InitUI(self): icon = wx.Icon('33.ico', wx.BITMAP_TYPE_ICO) self.SetIcon(icon) ...
如标题和描述中提到的,使用`Event.ENTER_FRAME`事件监听器作为控制流的入口是一种更有效的方法。每当Flash进入新的一帧时,就会触发`ENTER_FRAME`事件,使得开发者能够根据每一帧进行必要的计算和更新。这种方式的...
this.addEventListener(Event.ENTER_FRAME,Mot); // constructor code } function Mot(e:Event){ this.x+=speedx; this.y+=speedy; if(this.y>400){ init(); } } function init(){ this.y=0; this.x=...
this.addEventListener(Event.ENTER_FRAME,onPengZhuang); this.addEventListener(Event.ENTER_FRAME,onShow); pauseButtn.addEventListener(MouseEvent.CLICK,onClick); } public function addStar(id)...
addEventListener(Event.ENTER_FRAME, onEnterFrame); } public function onEnterFrame(event:Event):void { ball.scaleX = ball.scaleY = centerScale + Math.sin(angle) * range; angle += speed; } ...
Bullet.addEventListener(Event.ENTER_FRAME,bulletMove); //将炮弹对象置于炮弹容器中 Bullets.addChild(Bullet); //将炮弹容器置于舞台上 stage.addChildAt(Bullets,1); //设置变量...
one_fangxing.addEventListener(Event.ENTER_FRAME, fl_RotateContinuously_4); function fl_RotateContinuously_4(event:Event) { if(i) { w=one_fangxing.width; h=one_fangxing.height; //trace("初始...
暂停按钮激活后,`sound.pause()`停止播放,更新播放状态,并移除`Event.ENTER_FRAME`事件监听器。如果用户选择“恢复”,`sound.play()`被再次调用,但这次传递`soundChannel.position`作为参数,使播放从上次暂停...
用AS3.0编写的萤火虫随机飞舞代码,初学者代码交流,使用随机数及Event.ENTER_FRAME事件制作,文档类、内容类……