如何引用父对象(即从root或stage)?

时间:2013-09-28 20:02:57

标签: actionscript-3

我目前正在玩一些AS3平台游戏,并试图采用更清晰的基于对象的平台方法。简而言之,我试图检测玩家对象是否与平台碰撞 - ala:

if (!player.hitTestObject(this)) {
    //player falls
}

然而,问题在于实际引用玩家对象 - 玩家位于以下位置(来自舞台); manager.player - 平台位于manager.level.foreground。

有没有办法从上面列出的前景对象中实际引用播放器对象,而不将构造函数从播放器传递到平台的每个实例?

2 个答案:

答案 0 :(得分:2)

你可以做到

if (!this.parent.parent.player.hitTestObject(this)) {
    //player falls
}

但我强烈反对这一点,因为它对变化极不灵活,并导致可能的调试噩梦:)

让经理处理好孩子之间的碰撞是不是更整洁?

答案 1 :(得分:1)

您可以获得创建播放器对象的位置的静态引用。在该类中,您基本上返回对播放器的引用。