function update() {
if (roulette.circle.previousCircle) {
roulette.circle.previousCircle.destroy()
}
if (roulette.circle.previousLever) {
roulette.circle.previousLever.destroy();
}
if (roulette.circle.currentStep === 100 && run) {
ball.run = true;
}
let circle = this.add.image(108, 110, `circle${roulette.circle.currentStep}`).setOrigin(0, 0).setScale(0.7);
let lever = this.add.image(200, 150, `lever${roulette.lever.currentStep}`).setOrigin(0, 0).setScale(0.7);
roulette.circle.method();
roulette.lever.method();
roulette.circle.previousCircle = circle;
roulette.circle.previousLever = lever;
}
В Phaser.js есть функция update, которая и отвечает за все изменения. Как ограничить скорость её выполнения? Допустим, мне надо, чтобы она срабатывала в 2 раза реже
Воспользуйтесь функцией декоратором:
function wrap(fn, howOften) {
let count = 0;
let lastRes;
return function () {
if (count % howOften === 0) {
lastRes = fn.apply(this, arguments);
}
count++;
return lastRes;
}
}
Использование:
const update = wrap(phaser.update.bind(phaser), 2);
Сборка персонального компьютера от Artline: умный выбор для современных пользователей