未正确调用原型方法



对我写的这个引擎很恼火,但没关系,这就是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

相关内容

  • 没有找到相关文章

最新更新