2

画面に4つのキャラクターがあり、それぞれにいくつかの異なる状態と対応するMovieClipsがあるゲームに取り組んでいるため、ライブラリは次のようになります。

キャラクター1:
IdleAnimation
SleepAnimation
..
キャラクター2:
IdleAnimation
SleepAnimation
..

各アニメーション(サードパーティが提供)には異なるアンカーポイントがあるため、キャラクターAが画面上の位置100、100にあり、アイドルアニメーションからスリープアニメーションに移動すると、アンカーポイントのために突然右に20ピクセルジャンプします。

通常、私はすべての異なる状態を1つのMovieClipに別々のフレームに保存し、それらが一致するまでそれぞれの位置を手動で調整しますが、これもAndroidに移植しようとしているため、画面に表示される子の数を一度に維持する必要があります。最小。

各キャラクターと各アニメーションのオフセットxとyの値を保存し、状態が変化するたびにコードを介してx / yを設定する以外に、他にできることはありますか?

4

1 に答える 1

0

numChildrenを抑えるために私はあなたが選択の余地がないと思います

ただし、各キャラクターのアニメーションのxオフセットとyオフセットを追跡するため

おそらく{state:registration_point}の形式のObject変数に格納されます。

次に、状態を変更するときに、登録ポイントを設定できます

Emanuel Feronatoによるこの方法による:

http://www.emanueleferonato.com/2010/08/04/changing-a-movieclip-registration-point-on-the-fly-with-as3/

ただし、試してみるアイデアは、登録ポイントを各アニメーション状態の中心に配置することです。

    var reg_x:Number = mc.width / 2;
    var reg_y:Number = mc.height / 2;
于 2013-02-06T04:56:06.930 に答える