【Godot】使い方(10)プレイヤーの移動④

Godot ゲーム制作

 この章では、前章で移動できるようになったプレイヤーに向きの変更やアニメーションの機能を付けていきます。


プレイヤーの向きの変更

 まず、以下のコードを前章で作成したコードの下に追加してください。プレイヤーの移動方向に応じて、向きが変わります。

プレイヤーの移動
  • 「if 条件式 :」「elif 条件式 :」:
    前章からキャラクターの向きの状態を条件に、0より大きいか小さいかでどちらに移動しようとしているか(どの方向のキーが押されているか)を判断。初めの「if velocity.x>0 :」で右に向いているかどうか調べ、その条件に合わないときは次の「elif 」の条件で確認、これを条件に合うまで下へと続け、どれにも当てはまらなければ何もしないで(キャラクターの向きを変えないで)その処理を終える。
  • rotation_degrees:
    アニメーション登録したキャラクター(参照:使い方(4)プレイヤーキャラクターの作成)を$AnimatedSprite2Dで指定し、そのキャラクターを=の右で指定した角度で回転させる。左回転をプラス、右回転をマイナスで表記する。


アニメーションさせる

 先ほどのコードだけでは、キャラクターがアニメーションを行わないため、アニメーションの命令を追加します。以下のコードをコールバック関数func _ready():内のscreen_sizeが記載されている行の下の行に追加します。

アニメーションスタート
  • $AnimatedSprite2D.play()
    $AnimatedSprite2Dノードに設定されているアニメーションの再生を開始。_ready()内に入れることで、アニメーションをキャラクター表示の時から実行できる。