0

私は現在、ActionScriptゲームに取り組んでおり、ステージの境界を設定しようとしています。ただし、プレーヤーオブジェクトはステージオブジェクトのサブオブジェクトです。そしてplayer.xを参照すると、レベルオブジェクト自体の中でxの位置になります。本質的に、私がやろうとしているのは、

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

これを行う簡単な方法はありますか、それとも、サブオブジェクトとしてではなく、プレーヤーオブジェクトが常にステージ上にあることを確認する必要がありますか?

4

1 に答える 1

2

localToGlobal()メソッドを使用して、ポイント(flash.geom.Point)を1つのオブジェクトの座標からステージ座標に変換できます。サブオブジェクトにプレーヤーの位置を変換するように依頼することによって:

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

または、新しいポイントはデフォルトで0、0にあるため、プレーヤーオブジェクト自体にそれをグローバル座標に変換するように要求します。

var playerPositionOnStage:Point = subobject.player.localToGlobal(new Point());
于 2013-01-13T23:03:28.523 に答える