我不知道闪光灯,但想制作一些小动画。我现在有时钟运行,当时间到了,我想要动画去做另一个功能。该功能有:
private function proceed(signal:Event):void
所以它应该在time function function命令后启动。
如何命令它在时间函数中转到该函数?
private function time(signal:Event):void
{
var moment:Date = new Date();
var time:Number =(moment.getTime() - this.startingmiment.getTime())/1000;
time_txt.text = String(time);
if (time> 20){
proceed();
}
编辑:
我不知道如何使用setTimeout或它不起作用,即使该页面上有示例。 错误: 调用可能未定义的方法setTimeout; 访问可能未定义的属性通过静态类型游戏的引用继续。定义flash:无法找到utils。
我有私有函数,我用前缀“this”来引用所有内容。所以我写了
public function SetTimeoutExample() {
var intervalId:uint = setTimeout(this.proceed, this.delay);
}
延迟也在计划开始时给出了价值。我不知道intervalID:uint variame意味着什么,我必须在哪里使用它?
答案 0 :(得分:0)
有3种方法可以跟踪时间并运行功能。
-1。 flash.utils.setTimeout
你传入一个函数来调用它,并在调用它之前等待多少毫秒。 setTimeout(myFunction,1000); //call myFunction in 1 second
。
-2。 flash.utils.Timer
。 (或flash.utils.setInterval
)
Timer
类以无限期或设定的次数以设定的间隔调度事件。如果您在等待期间有一些视觉效果,那么这将很有用。
var timer:Timer = new Timer(1000,10); //this creates a timer that will fire a total of 10 times, once every second
timer.addEventListener(TimerEvent.TIMER,tickHandler); //listen for the tick
timer.addEventListener(TimerEvent.TIMER_COMPLETE, timerComplete) //TimerEvent is found in the flash.events package
timer.start(); //start the timer. you can also pause/stop the timer if necessary, or reset it (which stops it and puts the count back to 0)
function tickHandler(e:Event):void {
//another second has passed, do something
myTextField.text = timer.currentCount + " seconds have passed";
}
function timerComplete(e:Event):void {
//timer is done, do something
}
-3。 EnterFrame
处理程序。
您可以每帧运行一个函数,并跟踪传递的时间。如果您需要响应每一帧到时间,这样做才有好处。
addEventListener(Event.ENTER_FRAME, enterFrame);
var startTime:Number = flash.utils.getTimer();
function enterFrame(e:Event):void {
myTextField.text = (flash.utils.getTimer() - startTime) + " miliseconds have passed";
if(flash.utils.getTimer() - startTime > 60000){
//a minute has passed, do something and stop listening
removeEventListener(Event.ENTER_FRAME, enterFrame);
}
}