Изменение скорости вызова интервала
Доброго времени суток!
Почти до делал змейку на canvas, осталась увеличение скорости змейки. И так: Это общий код игры из файла game this.speedBomb = 3000; this.speedSnake = 250; //отрисовка игры this.gameInterval = setInterval(() => { if (!this.gamePaused) { this.update(); } }, game.speedSnake); //отрисовка бомбы this.bombInterval = setInterval(() => { if (!this.gamePaused) { this.board.createBomb(); } Это код файла змейки, естественно, они связаны game.snake = { game: game .......................... } //Если новая ячейка является яблоком if (this.game.playSound) { this.game.sounds.food.play(); } this.game.playerScore++; this.game.myScore.innerText = this.game.playerScore; if (this.game.playerScore % 5 === 0) { clearInterval(this.game.gameInterval); this.game.speedSnake -= 1; this.gameInterval = setInterval(() => { if (!this.game.gamePaused) { this.game.update(); } }, this.game.speedSnake); clearInterval(this.game.bombInterval); this.game.speedBomb -= 100; console.log(this.game.speedBomb); this.bombInterval = setInterval(() => { if (!this.game.gamePaused) { this.game.board.createBomb(); } }, this.game.speedBomb); } this.game.board.createFood(); } И, казалось бы, все работает, и this.game.speedSnake выводится с положенным ей числом, уменьшенным на 1. Но скорость змейки на вид растет явно не по this.game.speedSnake Когда this.game.speedSnake = 248, змейка уже бегает, как будто скорость отнимается по 10 или побольше. Как так? Что не правильно? Благодарю! |
Какие то куски кода.
Непонятно почему все время разное this.gameInterval и this.game.gameInterval game.speedSnake и this.game.speedSnake Почему во втором файле в стр 20 this.game.gameInterval, а в стр 24 уже this.gameInterval? |
Это по тому, что я сам дурак... Увы... По не внимательности.
Интервалы и переменные были созданы изначально в файле game, змея есть яблоки в файле snake. И мне самому захотелось сделать сложность увеличением скорости. |
Получилось! Значит, идея была правильная, но реализация кривая.
Спасибо на указанные ошибки. Возможно, еще кому то поможет. |
Часовой пояс GMT +3, время: 15:55. |