【发布时间】:2014-03-14 01:53:18
【问题描述】:
我正在关注这个melon JS tutorial,并且正在参与第 3 部分。
我不清楚这段代码 sn-p 中的几件事
game.PlayerEntity = me.ObjectEntity.extend({
init: function(x, y, settings) {
this.parent(x, y, settings);
... more code here
},
首先,您在我的“游戏”对象中创建了一个名为“PlayerEntity”的新成员,它扩展了 melonJS(我)对象实体类。我明白了。不过没看懂
1) this 是指“游戏”对象吗?
2) 如果是这样,那么this.parent 将指代“游戏”的父级——这只是它继承自的 ObjectEntity 类吗?
3) 为什么我不能从game 对象之外调用它?这是说它没有方法init,即使我在game.PlayerEntity {} 对象中定义了一个。
game.PlayerEntity.init(1, 2, 3);
4) 如果您使用this.parent(x, y, settings) 调用构造函数,那么在哪里设置x, y, settings 参数?使用 Java,您可以这样调用构造函数:
public Bicycle(int val1, int val2) {
myVal1 = val1;
myVal2 = val2;
}
然后创建类的新实例:
Bicycle bike = new Bicycle(1, 2);
因此,创建实例时会调用 Bicycle 的构造函数。
但是有了这个,我不清楚this.parent(x, y, settings); 是如何“调用构造函数”的。
谢谢!
【问题讨论】:
-
我认为 this 指的是 PlayerEntity 而 this.parent 指的是 ObjectEntity。
标签: javascript prototypal-inheritance melonjs