キャラクターのアニメーション第3回は「移動をやめたらアニメーションも止めよう」です。
(最初から見たい場合はこちら)
方向キーで移動できるようにしよう
まずはアニメーションは右向きのままで、キャラクターを方向キーで移動できるようにします。
第2回の内容を以下のように調整してください。
・コントローラーの入力処理をループで追加(9~30行目)
・キャラの表示部分をループ内に移動(28、29行目)
・キャラの表示部分をループ内に移動(28、29行目)

実行結果はこちら(動画です)
初心者講座03と同じなのでここは簡単ですね。
方向キーを離したらアニメーションを止めよう
続いて方向キーを離した際に、キャラクターのアニメーションを止める処理を作ります。
先程の内容を以下のように調整してください。
・方向キーが入力されているかどうかの変数「MOV」を追加(5行目)
・ループ開始後に「MOV」を初期化「0」にする(12行目)
・方向キーが入力された際「MOV」を「1」にする
(17、22、27、32行目)
・方向キーが入力されていなかった際の処理を追加
(36~40行目)
・ループ開始後に「MOV」を初期化「0」にする(12行目)
・方向キーが入力された際「MOV」を「1」にする
(17、22、27、32行目)
・方向キーが入力されていなかった際の処理を追加
(36~40行目)

実行結果はこちら(動画です)
解説
変数「MOV」は
方向キーが入力されていない状態を「0」
方向キーが入力されている状態を「1」
方向キーが入力されている状態を「1」
としています。
そして36~40行目のIF文(IF~ELSE)で
もし方向キーが入力されていない(MOV==0)ならば、
アニメーションを止める(SPSTOP)
そうでない(方向キーが入力されている→MOVが0以外)ならアニメーションを開始する(SPSTART)
アニメーションを止める(SPSTOP)
そうでない(方向キーが入力されている→MOVが0以外)ならアニメーションを開始する(SPSTART)
という処理をしています。
そしてループ開始時に戻った際、方向キーを離している可能性があることを考慮して、「MOV」を「0」に戻しています。
第3回は以上となります。
キャラクターのアニメーションのトップに戻る場合はこちら

コメント