TimerEvent.TIMER_COMPLETE是什么意思
时间: 2024-01-17 16:05:08 浏览: 71
TimerEvent.TIMER_COMPLETE是一个计时器事件类型,表示计时器对象完成了所有计时器事件的触发。当计时器对象的计时次数达到指定的总次数时,就会触发该事件。在该事件触发后,计时器对象就会停止计时,不会再次触发计时器事件。
在上述代码中,为animTimer对象添加了一个TimerEvent.TIMER_COMPLETE事件侦听器,用于在计时器对象完成所有计时器事件的触发后执行相应的操作。一般来说,可以在该事件侦听器中实现一些计时器结束后的清理工作,如删除显示对象、停止动画效果等。
相关问题
burstSprite = new Sprite(); burstSprite.x = x; burstSprite.y = y; burstSprite.scaleX = startScale; burstSprite.scaleY = startScale; burstSprite.alpha = 0; burstSprite.addChild(tField); parentMC = mc; parentMC.addChild(burstSprite); animTimer = new Timer(animStepTime,animSteps); animTimer.addEventListener(TimerEvent.TIMER, rescaleBurst); animTimer.addEventListener(TimerEvent.TIMER_COMPLETE, removeBurst); animTimer.start();
这段代码创建了一个Sprite对象burstSprite,并将其添加到指定的显示列表上。同时,还创建了一个Timer对象animTimer,用于实现动画效果。具体流程如下:
1. 使用new关键字创建一个Sprite对象burstSprite。
2. 设置burstSprite的x和y属性为指定的x和y坐标,表示该对象在舞台上的位置。
3. 设置burstSprite的scaleX和scaleY属性为startScale的值,表示该对象的初始缩放比例。
4. 设置burstSprite的alpha属性为0,表示该对象的初始透明度。
5. 将TextField对象tField添加到burstSprite对象中。
6. 使用指定的mc对象作为父容器,将burstSprite添加到该容器中。
7. 使用new关键字创建一个Timer对象animTimer,并设置其触发间隔为animStepTime毫秒,总共触发animSteps次。
8. 为animTimer对象添加两个事件侦听器,分别处理TimerEvent.TIMER和TimerEvent.TIMER_COMPLETE事件。
9. 启动animTimer对象,开始动画效果。
该代码的作用是创建一个Sprite对象,用于显示爆炸效果,并使用Timer对象实现动画效果。在动画过程中,将burstSprite对象的缩放比例和透明度逐渐变化,从而实现爆炸效果。同时,将该对象添加到指定的父容器中,以便在舞台上显示出来。
public function wenben(mc:MovieClip, pts:Object, x,y:Number) { var tFormat:TextFormat = new TextFormat(); tFormat.font = fontFace; tFormat.size = fontSize; tFormat.bold = fontBold; tFormat.color = fontColor; tFormat.align = "center"; tField = new TextField(); tField.selectable = false; tField.defaultTextFormat = tFormat; tField.autoSize = TextFieldAutoSize.CENTER; tField.text = String(pts); tField.x = -(tField.width/2); tField.y = -(tField.height/2); burstSprite = new Sprite(); burstSprite.x = x; burstSprite.y = y; burstSprite.scaleX = startScale; burstSprite.scaleY = startScale; burstSprite.alpha = 0; burstSprite.addChild(tField); parentMC = mc; parentMC.addChild(burstSprite); animTimer = new Timer(animStepTime,animSteps); animTimer.addEventListener(TimerEvent.TIMER, rescaleBurst); animTimer.addEventListener(TimerEvent.TIMER_COMPLETE, removeBurst); animTimer.start(); } public function rescaleBurst(event:TimerEvent) { var percentDone:Number = event.target.currentCount/animSteps; burstSprite.scaleX = (1.0-percentDone)*startScale + percentDone*endScale; burstSprite.scaleY = (1.0-percentDone)*startScale + percentDone*endScale; burstSprite.alpha = 1.0-percentDone; } public function removeBurst(event:TimerEvent) { burstSprite.removeChild(tField); parentMC.removeChild(burstSprite); tField = null; burstSprite = null; delete this; } }是什么意思
这是一个 AS3 代码段,定义了一个名为 "wenben" 的函数,函数包含了一些变量和操作,主要作用是创建一个文本框,然后在指定的位置显示出来并进行一些动画效果,最后将文本框移除。具体实现的过程是:先定义一个 TextFormat 对象来定义文本的格式,然后创建一个 TextField 对象用于显示文本,设置一些属性和文本内容,接着创建一个 Sprite 对象用于存放 TextField,并设置一些属性,然后将 Sprite 添加到指定的 MovieClip 中。接下来创建一个 Timer 对象用于控制动画的播放,通过 rescaleBurst 函数来实现 Sprite 的缩放和透明度变化,最后在 removeBurst 函数中移除 Sprite 和 TextField 对象。
阅读全文