這似乎是一個在這個網站上流行的問題,但以前的答案並沒有解決這個問題的實例。Javascript對象沒有方法錯誤
我有一個node.js服務器上的遊戲引擎的開始,但是當我設置它的時候,我在loop
方法中出現以下錯誤:Object #<Timer> has no method update
。
我還以爲是設置原型與GameEngine.prototype.update = function(){ ... };
更新方法解決這個問題的任何幫助,將不勝感激。謝謝。
這裏是整個代碼:
function GameEngine(){
this.fps = 1000/60;
this.deltaTime = 0;
this.lastUpdateTime = 0;
this.entities = [];
}
GameEngine.prototype.update = function(){
for(var x in this.entities){
this.entities[x].update();
}
}
GameEngine.prototype.loop = function(){
var now = Date.now();
this.deltaTime = now - this.lastUpdateTime;
this.update();
this.lastUpdateTime = now;
}
GameEngine.prototype.start = function(){
setInterval(this.loop, this.fps);
}
GameEngine.prototype.addEntity = function(entity){
this.entities.push(entity);
}
var game = new GameEngine();
game.start();
當你調用this.entities [X] .update(),這是什麼叫什麼呢?如果您嘗試使用this.entities [0] .update()會怎麼樣? for..in循環中的 – 2012-07-10 18:43:29
不應該用於數組。 – ThiefMaster 2012-07-10 18:43:31