2014-10-11 2 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, но вопрос связан с фазером, который является основой для JavaScript. – Geroy290

+1

Я знаю, что это старо, но для будущих искателей причина не использовать родной setTimeout в Phaser заключается в том, что таймеры Phaser привязаны к игровому циклу, так что, например, если вы приостановите игру, он автоматически остановит все таймеры. –

Смежные вопросы