对我写的这个引擎很恼火,但没关系,这就是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);
}
为了简单起见,我删除了不必要的代码(其他变量和方法)。正如你所看到的,场景是原型addEntity(实体)。我在后面的代码中实例化了两个场景对象(Scene1, Scene2)。场景1似乎没有问题。下面是Scene2:
// Scene Two
var Scene2 = new Scene('Play Game', 'Actual game screen for playing Pong!');
Scene2.addEntity(GameBall);
Engine.scenes.push(Scene2);
引擎。场景包含所有场景。同样,Scene1(带有一个addEntity调用的新场景)没有任何错误。然而,第二幕坚持:
TypeError: Scene2.addEntity is not a function
Wtf,工作良好的场景?此外,Scene2在我添加第二个实体(理论上与GameBall"相同",除了几个变量值)之前运行良好。因此,为了彻底起见,一旦出现错误,我就注释掉了新实体。仍然不是函数。我完全删除了新的(冒犯?)行,仍然不是一个函数。从那以后就一直是这样。Chrome和Firefox都报告这不是一个功能。
提前感谢。
你把addEntitiy
拼错了。
这很容易
从你的代码来看,你的原型方法似乎拼写错误。应该是addEntity,而不是addEntity