0

私が達成しようとしているのは、オブジェクトをステージの中央に配置する「centerItem」メソッドを作成することです。このメソッドをMiscクラスファイルに追加し、アプリケーションのあらゆる場所で使用したいと思います。私はすでに以下のようにそれを試しましたが、これはうまくいきませんでした:

public static function centerItem(item:*):void
{
    item.x = (stage.stageWidth - item.width) >> 1;
    item.y = (stage.stageHeight - item.height) >> 1;
}

そしてそれをこのように呼びます:

Misc.centerItem(myObjectToPlaceOnStage);

しかし、試してみると、エラーが発生します。私はすでにウェブを調べましたが、建設的な解決策は見つかりませんでした。私は誰かが解決策/ハックを見つけるかもしれないことを願っています

4

1 に答える 1

2

オブジェクトがすでにステージに追加されている場合は、そのステージプロパティにアクセスできます。

public static function centerItem(item:DisplayObject):void
{
    item.x = (item.stage.stageWidth - item.width) >> 1;
    item.y = (item.stage.stageHeight - item.height) >> 1;
}

ちなみに、私はあなたのアイテムパラメータをに入力したので、あなたはそれがとプロパティをDisplayObject持っていることを確認します。widthheightstage

于 2012-10-26T13:33:23.853 に答える