Я делаю бесконечную игру раннер в javascript, и количество препятствий на экране соответствует количеству очков (одно препятствие на каждые 1000 очков).Когда счет становится выше примерно от 30 до 35 тысяч (то есть от 30 до 35 препятствий), я получаю эту ошибку:
TypeError: Cannot read property 'render' of undefined at render (https://replbox.repl.it/data/web_hosting_1/GameMaster1928/Infinite-Runner-Thing/script.js:240:22) at loop (https://replbox.repl.it/data/web_hosting_1/GameMaster1928/Infinite-Runner-Thing/script.js:255:3)
Мой код на https://repl.it/@GameMaster1928/Stuff. Я сделал корабль непобедимым, поэтому вымогу воссоздать ошибку, просто подождав.
Похоже, что одно из моих препятствий становится неопределенным по какой-то причине.Может кто-нибудь, пожалуйста, посмотрите на мой код и скажите, где ошибка, чтобы я мог ее исправить?
obstacles[Math.floor(score / 1000)] = new Obstacle(); Это может стать проблемой, если вы не наберете 1000 очков и пропустите один.Вместо этого используйте obstacles.push( new Obstacle()).
obstacles[Math.floor(score / 1000)] = new Obstacle();
obstacles.push( new Obstacle())