キャラクターのアニメーション第4回は「アニメーションの方向も変わるようにして完成」です。
(最初から見たい場合はこちら)
第3回の内容から以下のように調整してください。
・向きを変えるための変数を追加(6、7行目)
・現在の向き(グラフィックの番号)を一時的に記憶しておく処理を追加(16行目)
・方向キーを入れた際に該当する向きのグラフィックの番号を「GRA」に入れる
(22、28、34、40行目)
・向きが変わった際の処理を追加(51~54行目)
※SPANIMをLOOPの中に入れます
・現在の向き(グラフィックの番号)を一時的に記憶しておく処理を追加(16行目)
・方向キーを入れた際に該当する向きのグラフィックの番号を「GRA」に入れる
(22、28、34、40行目)
・向きが変わった際の処理を追加(51~54行目)
※SPANIMをLOOPの中に入れます

実行結果はこちら(動画です)
解説
今回は
向きのグラフィックの番号を入れておく「GRA」
現在の向きと比較するための「GRA_BEF」
現在の向きと比較するための「GRA_BEF」
を用意しました。
流れとしては
・現在のグラフィックの番号を一時的に「GRA_BEF」に入れる(16行目)
・方向キーの入力によって「GRA」に数値が入る(19~41行目)
・「GRA_BEF」と「GRA」を比較して数値が異なる(方向が変わった)ならグラフィックを変更し、あわせてSPANIMで使うグラフィックも変更する(51~54行目)
・方向キーの入力によって「GRA」に数値が入る(19~41行目)
・「GRA_BEF」と「GRA」を比較して数値が異なる(方向が変わった)ならグラフィックを変更し、あわせてSPANIMで使うグラフィックも変更する(51~54行目)
という処理をしています。
※51行目で使われている「 != 」は「異なる」という意味になります。
アニメーションは各方向4パターン。

方向キーを押した際に起点となる番号を「GRA」に入れます。
(右=496、下=500、左=504、上=508)
例として「上を押した後に右を押す」という場合
・方向キーの上を押す → 「GRA」に上向きのグラフィックの番号(508)が入る
・(ループの最初に戻って)16行目で「GRA_BEF」に(508)が入る
・方向キーの右を押す → 「GRA」に右向きのグラフィックの番号(496)が入る
・「GRA_BEF」が(508)、「GRA」が(496)の状態となり異なる数値のため、SPCHRで496のグラフィックに変更、アニメーションも496~499に変更
・(ループの最初に戻って)16行目で「GRA_BEF」に(508)が入る
・方向キーの右を押す → 「GRA」に右向きのグラフィックの番号(496)が入る
・「GRA_BEF」が(508)、「GRA」が(496)の状態となり異なる数値のため、SPCHRで496のグラフィックに変更、アニメーションも496~499に変更
という流れになります。
※「SPCHR」は「SPSET」で設定したキャラクターのグラフィックを変更する命令です。
以上で「キャラクターを歩かせるアニメーションのサンプルプログラム」は終了になります。
内容が少々複雑なので、もしもわからなくなってしまったらヘルプやこのページを見直すのが良いかと思います。
ご覧いただきありがとうございました。
キャラクターのアニメーションのトップに戻る場合はこちら


コメント