2014-10-11 95 views
1

我有一个JavaScript文件,我正在使用Phaser Framework进行游戏,而且我有多个计时器,唯一的事情是我不确定如何让其中一个定时器在第一个定时器启动后开始运行一点点。由于框架JS文件,我无法提供实际可用的代码,但我可以提供我正在使用的代码。如何在JavaScript中延迟计时器的启动时间(Phaser)

//This is my first timer, it works how I like 
timer1 = game.time.events.loop(1500, addAnimals, this); 
//I want this one to start a little bit later than the other one 
timer2 = game.time.events.loop(1500, increaseScore, this); 

我不知道我该如何解决这个问题,如果任何人都可以帮助我,那太棒了!

回答

2

我已经想通了,我决定运行只运行一次的计时器,调用一个函数,然后运行,像这样:

firstTimer= game.time.events.add(Phaser.Timer.SECOND * 3.85, firstRun, this); 

与第一运转功能:

function firstRun() { 
score += 1; 
scoreLabel.text = score; 
timer2 = game.time.events.loop(1500, increaseScore, this); 
} 

它运行它自己的计时器。

-1

我不熟的移相器框架,但在JavaScript中,你可以使用的setTimeout(函数,延迟)

window.setTimeout(function() { 
 
    timer2 = game.time.events.loop(1500, increaseScore, this); 
 
}, 1000);

对于1000为一秒。

+1

是的,它是如何在JavaScript中工作的,但问题与Phaser相关,这是一个JavaScript框架。 – Geroy290 2014-10-11 22:35:49

+1

我知道这是旧的,但对于未来的寻求者,在Phaser中不使用本机setTimeout的原因是Phaser的计时器与其游戏循环有关,例如,如果暂停游戏,它会自动暂停所有计时器。 – 2017-08-24 15:28:30