Почему эта ошибка возникает, когда мой список препятствий становится слишком большим? - PullRequest
0 голосов
/ 30 марта 2019

Я делаю бесконечную игру раннер в 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. Я сделал корабль непобедимым, поэтому вымогу воссоздать ошибку, просто подождав.

Похоже, что одно из моих препятствий становится неопределенным по какой-то причине.Может кто-нибудь, пожалуйста, посмотрите на мой код и скажите, где ошибка, чтобы я мог ее исправить?

1 Ответ

1 голос
/ 01 апреля 2019

obstacles[Math.floor(score / 1000)] = new Obstacle(); Это может стать проблемой, если вы не наберете 1000 очков и пропустите один.Вместо этого используйте obstacles.push( new Obstacle()).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...