Я использую следующую функцию в Phaser для создания плавающих инструкций, которые исчезают через первые 5 секунд. Эта функция вызывается внутри функции create
.
setupText: function () {
this.instructions = this.add.text( 510, 600,
'Use Arrow Keys to Move, Press Z to Fire\nClicking does both',
{font: '20px monospace', fill: '#fff', align: 'center'}
);
this.instructions.anchor.setTo(0.5, 0.5);
this.time.events.add(5000, this.instructions.destroy, this);
},
Быстро стало очевидно, что синхронизированное событие — это не то, что я должен использовать здесь, потому что через пять секунд вся игра перестает отвечать на запросы.
Будучи полным новичком, я искал правильный способ реализации таких событий, но ничего не нашел.
В учебнике, которому я следую, создается переменная, содержащая количество секунд, в течение которых должно оставаться сообщение, а затем вызывается из update
функция, которая уничтожает текст, если лимит времени достигнут. Мне это кажется плохим подходом, потому что функция проверки вызывается снова и снова из update
, хотя она нужна только в течение первых 5 секунд.
Поэтому я ищу помощь в том, как лучше всего это сделать, а также объяснение, почему мой код привел к остановке всей игры.