我正在用JavaScript制作无限的亚军游戏,并且屏幕上的障碍物数量与分数相对应(每1000个分数中就有一个障碍物)。当分数超过约30到3.5万(所以有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。 我使飞船无敌,因此您只需等待即可重新创建错误。
由于某种原因,似乎我的障碍之一变得不确定。有人可以看看我的代码并告诉我错误在哪里,以便我可以解决它。
答案 0 :(得分:1)
obstacles[Math.floor(score / 1000)] = new Obstacle();
如果您不以1000分的分数来调用它而跳过一个,则可能会出现问题。请改用obstacles.push( new Obstacle())
。