真的很煩惱我寫這個引擎,但沒關係,這就是Stack Overflow的用處。所以,我有我的所有遊戲「實體」的原型來自對象:原型方法沒有被正確調用
function Scene(name, description) { // Initialize the Scene Object
/* VARIABLES */
this.entities = [];
/* METHODS */
};
Scene.prototype.addEntitiy = function(entity) { // Add an entity to this scene
this.entities.push(entity);
}
我已刪除非必要的代碼(其它變量和方法)爲簡單起見。正如你所看到的,Scene是addEntity(實體)的原型。稍後在代碼中實例化兩個Scene對象(Scene1,Scene2)。 Scene1似乎沒有問題。這是場景2:
// Scene Two
var Scene2 = new Scene('Play Game', 'Actual game screen for playing Pong!');
Scene2.addEntity(GameBall);
Engine.scenes.push(Scene2);
Engine.scenes包含所有場景。同樣,Scene1也沒有任何錯誤(帶有一個addEntity調用的新場景)。然而,場景二堅持如下:
TypeError: Scene2.addEntity is not a function
Wtf,對Scene1工作正常嗎?此外,Scene2工作正常,直到我加載了第二個實體(理論上與GameBall「相同」,除了一些變量值)。所以,爲了徹底,我在錯誤出現後立即將新實體評論出來。仍然不是一個功能。我完全刪除了新的(有問題的)行,仍然不是一個函數。從那以後就一直如此。 Chrome和Firefox都報告說這不是一項功能。
預先感謝您。
Gah!我真的拼錯了很多次嗎?悲傷......愚蠢的我。幾乎是滑稽的,因爲它在拼寫錯誤的方法上效果如此之好:) – 2013-03-14 03:03:44