0

アクション スクリプト 3 と CS5.5 を使用しています。キーボード入力に基づいて、キャラクターをさまざまな方法でアニメーション化したいと考えています。たとえば、右矢印キーを押すと実行アニメーションを開始し、左矢印キーを押すと同じアニメーションを逆にしたいとします。次に、入力がないときは立っているだけにして、上矢印キーを押したときにジャンプアニメーションを機能させたい. アクション スクリプト 3 でこれを行う最善の方法は何ですか?

4

2 に答える 2

0

フレームラベルを使用して、タイムライン上の再生ヘッドの動きをプログラムで制御します。

メディア

キャラクタークリップは次の構造になっている必要があります。

-タイムライン上の3つのレイヤー、それぞれに合計9つのキーフレームが3つあります

-フレームラベルレイヤー。各フレームにフレームラベルを付けます(「standing」、「walkingRight」、「walkingLeft」)。

--aストップレイヤー。各フレームを分離するため、フレーム間の移動はコードによってのみ制御されます。

-サブアニメーションレイヤー。各フレームに1つのアニメーションがあり、すべてのアニメーションがループしていて、停止することはありません。

---左のアニメーションクリップを歩く

---右のアニメーションクリップを歩く

---立っているアニメーションクリップ

明確にするために、これらのネストされたアニメーションはそれぞれ1フレームを占めますが、再生ヘッドをその上に移動すると、そのアニメーションは単独で再生されているように見え、コードが再生ヘッドを移動するまでその状態が続きます。

それをコーディングする

var character:MovieClip=new MyCharacterClass()
addChild(character);
character.gotoAndStop("standing") 
stage.addEventListener(KeyboardEvent.KEY_UP,keyUp); 

protected function keyUp(event:KeyEvent):void
{
   switch (event.keyCode)
{
    case Keyboard.LEFT:
        character.gotoAndStop("walkingLeft")
    break;

    case Keyboard.RIGHT:
        character.gotoAndStop("walkingRight")
    break;

    default:
        character.gotoAndStop("standing")
    break;
}
}

これは考えられる最も単純な例です。左矢印をクリックすると、アニメーションはキャラクターが左に歩いていることを示しています(1つの場所ではありますが、実際の移動コードを追加する必要があります)。右矢印をクリックすると、右に歩きます。他のキーを押すと、キャラクターが立ちます。

于 2012-04-27T20:25:25.190 に答える
0

まず、KeyboardEvent を使用して、矢印キーが押されているかどうかを確認します。次に、イベント リスナー関数で正確に何を行うかは、アニメーションがどの程度正確に作成されたかによって異なります。たとえば、Flash で描画された MovieClip を再生している場合は、KeyboardEvent リスナーで MovieClip を切り替えます。

于 2012-04-27T15:06:16.550 に答える