Мне нужно воспроизвести звук с помощью Phaser Framework, который воспроизводится каждые 10 секунд. Но как я могу реализовать событие, которое будет выполнено, когда звук завершится? поэтому я могу запустить 10-секундный таймер, чтобы снова воспроизвести звук.
Как бы вы воспроизводили звук каждые определенное количество секунд в Phaser?
comment
Вы хотите воспроизвести звуковой эффект (который занимает x секунд), а затем подождать 10 секунд, или вы хотите воспроизводить звук каждые 10 секунд? В зависимости от этого вы можете использовать либо событие Sound.onStop, либо объект Time.
- person BdR   schedule 26.06.2015
comment
В итоге я использовал событие onStop и внутри него создал таймер, который снова воспроизводит звук через 10 секунд. Я не знал, что событие onStop вызывается, когда звук заканчивает играть, я всегда искал onComplete, но его не существует для звуков. Также позже мне пришлось onStop.removeAll().
- person omarojo   schedule 27.06.2015
Ответы (1)
Вы можете использовать событие для звука. Например:
sound.onStop.add( // When it ends set a timeout function to restart it
function() {
setTimeout(
function() {
sound.play();
},
10000 // Delay
)
}
);
sound.play();
Возможно, вы сможете упростить этот код, используя анимацию движения Phaser, но я мало использовал их, поэтому не знаю, как это сделать.
person
hedgehog125
schedule
02.03.2018