有没有办法引用子对象的x位置对着它在舞台上的x位置?

时间:2013-01-13 22:48:44

标签: actionscript-3

我正在开发一个动作游戏,并试图设置舞台边界;然而,玩家对象是舞台对象的子对象;当引用player.x时,我在级别对象本身中获得它的x位置。从本质上讲,我要做的是;

if (player.x < stage.x.0) {
player.x = stage.x.0
}

有没有简单的方法可以做到这一点,或者我应该只是确保播放器对象始终在舞台上,而不是作为子对象?

1 个答案:

答案 0 :(得分:2)

您可以使用localToGlobal()方法将Point(flash.geom.Point)从一个对象的坐标转换为舞台坐标。要么通过询问子对象来转换玩家的位置:

var playerPosition:Point = new Point(subobject.player.x, subobject.player.y);
var playerPositionOnStage:Point = subobject.localToGlobal(playerPosition);

或者,因为新的Point默认为0,0通过要求玩家对象本身将其转换为全局坐标:

var playerPositionOnStage:Point = subobject.player.localToGlobal(new Point());