我的计时器从 60倒计时到。我希望我的电影能够在零点数进入下一帧。如何从第1-2帧开始?我需要找到合适的运算符和值,但我迷失在字符串中。
我在做什么
如果(某事是<> == true false);
的gotoAndPlay(2);
stop();
//
var timer:Timer = new Timer(100, 300);
timer.addEventListener(TimerEvent.TIMER, countdown);
timer.start();
function countdown(event:TimerEvent) {
var totalSecondsLeft:Number = 60 - timer.currentCount;
myText.text = timeFormat(totalSecondsLeft);
}
function timeFormat(seconds:int):String {
// var minutes:int;
// var sMinutes:String;
var sSeconds:String;
if(seconds > 59) {
// minutes = Math.floor(seconds / 60);
// sMinutes = String(minutes);
sSeconds = String(seconds % 60);
} else {
// sMinutes = "";
sSeconds = String(seconds);
}
if(sSeconds.length == 1) {
sSeconds = "0" + sSeconds;
//###################################
//}
//if(bla bla bla?) {
//gotoAndPlay(2);
//###################################
}
return sSeconds;//return sMinutes + ":" + sSeconds;
}
我试过这个 “没什么”
stop();
var timer:Timer = new Timer(1000); // delay = time between ticks in milliseconds
timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
timer.start();
function onTimer($evt:TimerEvent):void {
watch.hand.rotation = 30 + timer.currentCount;//tick 5
}
//function startAgain($evt:TimerEvent):void {
//timer.reset();
//timer.start();
//}
function onTimerComplete(e:TimerEvent):void
{
// remove listener
timer.removeEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
// advance playhead to frame 2
gotoAndPlay(2);
}
我正在做这样的几个实验来理解条件。我需要构建与预加载器类似的对象。
alt text http://www.ashcraftband.com/myspace/videodnd/board1.jpg
答案 0 :(得分:0)
如果你的问题是关于在60个滴答之后将播放头从第1帧推进到第2帧,那么我建议你监听TimerEvent.TIMER_COMPLETE事件。例如,
var timer:Timer = new Timer(delay, 60); // delay = time between ticks in milliseconds
timer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
timer.start();
function onTimerComplete(e:TimerEvent):void
{
// remove listener
timer.removeEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
// advance playhead to frame 2
gotoAndPlay(2);
}
至于你关于条件的问题......你会问,“我怎样才能从第1-2帧开始?”那么,为了推进一个框架,条件需要什么?
请尝试提出简明扼要的问题。如果你只是想绕过条件,那么我建议你搜索谷歌和这个网站,因为那里有很多好的信息。祝你好运!
====编辑====
你在2天前添加的代码(即我试过这个“没什么”......)不应该做任何事情:)
以下代码行实例化一个Timer对象,该对象将每1000毫秒永远:
var timer:Timer = new Timer(1000);
这就是为什么你的onTimerComplete(e:TimerEvent)
处理程序永远不会被调用的原因。如果你想让它最终停止滴答,比如在5秒之后,你会想要使用以下代码段代替你的代码:
var timer:Timer = new Timer(1000, 5); // timer will tick every second (1000 milliseconds) for 5 seconds
您也永远不会注册TimerEvent.TIMER
事件处理程序。这就是你的onTimer($evt:TimerEvent)
处理程序永远不会被调用的原因。如果要捕获该事件,则需要注册处理程序,如下所示:
timer.addEventListener(TimerEvent.TIMER, onTimer);
如果添加该侦听器,请确保以onTimerComplete(e:TimerEvent)
处理程序中删除TimerEvent.TIMER_COMPLETE
处理程序的方式将其删除。
希望这会有所帮助。祝你好运!
答案 1 :(得分:0)
或者,您可以使用setTimeout函数:
function goToTwo(e) {
gotoAndPlay(2);
}
setTimeout(goToTwo, 60*1000);
答案 2 :(得分:0)
你说你想转到下一帧。我不确定你在寻找什么,但它是nextFrame()函数吗?还是gotoAndStop()?
你可以尝试重新解释一下你在这里发生的事情吗?