Possible Duplicate:
set attribute with javascript super method调用父类中的方法从子类 - 的JavaScript
我试图创建HTML5一个简单的游戏乐趣。我有一个应该是Player类的超类的实体类。
function Entity(x, y) {
this.x = x;
this.y = y;
this.tick = function() {
//Do generic stuff
}
}
function Player(x, y) {
this.parent.constructor.call(this, x, y);
this.tick = function() {
//Do player-specific stuff
this.parent.tick.call(this);
}
}
Player.prototype = new Entity();
Player.prototype.constructor = Player;
Player.prototype.parent = Entity.prototype;
的问题是在这条线:
this.parent.tick.call(this);
我得到了镀铬的JavaScript控制台显示一个错误:“遗漏的类型错误:无法调用的未定义‘叫’”。
我不明白,我花了很长时间试图找到类似问题的帖子。我对超类的构造函数的调用工作正常,但对超类'tick方法的调用不起作用。
我对制作游戏很陌生,所以我不知道这是否是一个好的设置(从子类打勾调用超类打勾)。如果有更好,更典型的人使用的方式,请告诉。
谢谢。
为什么你没有原型上的通用东西?你可以在那里轻松访问它。 – Bergi
JavaScript没有经典的继承,就像你从其他古典语言如java中使用。您应该阅读原型继承,并了解它与经典继承之间的差异。 – Christoph