|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
最終更新日: 2003年7月26日 |
|||||||||||||||||||||||||||
Flashの座標空間Flashはステージ左上を原点(0,0)とするグローバル座標のほかに、ムービークリップ、ボタン、テキストフィールドのインスタンスごとにローカル座標空間を持っています。 下のサンプルムービーを見てください。 mc1は直接ステージ上に配置されたムービークリップなので座標空間を意識する必要はありません。mc1の基準点(黄色い四角)は中央なので、ステージ原点からの距離50ドットに自身の半径100ドットを足した150ドットが_x、_yの値となります。 mc2の_x、_yの値はどうでしょうか。 mc2の基準点(赤い四角)も中央です。グローバル座標空間で考えると、mc1の_x、_yに自身の半径25ドットを足した175ドットがmc2の_x、_yの値です。
結果はご覧のとおりです。ステージ上に直接配置されたmc1は、予想通りグローバル座標の値を返してきます。 下図は、上のサンプルムービーを、mc1の座標空間の値で表したものです。よく確認してください。
座標の変換 _x、_y プロパティは、親ムービークリップのローカル座標空間の値を返してきますが、このままでは使いづらいときがありますね。 座標を取得するプロパティ、メソッドFlashには、座標を取得するプロパティ、メソッドとして、_x、_yプロパティ以外に、ムービークリップ・メソッド MovieClip.getBounds() 、ムービークリップ、ボタン、テキストフィールドのプロパティ _xmouse 、_ymouse があります。これらを使用するときにも、座標空間を意識する必要があります。 まず、ムービークリップ・メソッド MovieClip.getBounds()。このメソッドは、ムービークリップの xおよび y座標の最小値、最大値を返します。使用時には「 this.getBounds(_root); 」のように、どの座標空間の値を返すか、引数としてターゲットパスを指定します。 次に、ムービークリップ、ボタン、テキストフィールドのプロパティ _xmouse と _ymouse 。このプロパティは、マウスの座標を格納しています。使用時には「 mc1._xmouse; 」「 _root._ymouse; 」のように、どの座標空間の値を返すか、ドットの前にターゲットパスを指定します。 _x と _y 、MovieClip.getBounds()、_xmouse と _ymouse、これらが返す値の座標空間をまとめると次のようになります。
・関連項目 |
|||||||||||||||||||||||||||
| (C)2000-2004 Ginga Baba. All rights reserved. お問い合わせ先:ginga@nifty.com |
|
||||||||||||||||||||||||||