第21章.「スプライトの操作」


 方向キースプライトを操作するには、第18章から第20章までに学んだスプライトの基本と、第12章で学んだボタン選択を組み合わせます。

 もし途中で分からないことがあった場合は、それらの章を復習してください。

 今回は、三段階スプライトの操作を学んでいきましょう!

 1.正面を向いたままでの移動

 2.上下左右を向いての移動(歩行アニメなし)

 3.上下左右を向いての移動(歩行アニメあり)

 

 ちなみに、「手っ取り早くボタンでスプライトを操作できるようになりたい」という人は、この章の最後にスクロールしてみてください!

 別に、「ゆっくりで良いから順番に学びたい」という人は、このまま次に進んでください。

 まずは、このように入力してからプログラムを実行してみてください。

 上下左右のボタンを押すと、正面を向いた戦士が移動するでしょう。

 そのままでは終われないので、Xボタンを押すことでループを抜けて終了となります。



 次に、先ほどのプログラムに少し命令を追加してください。

 それによって、正面を向いた戦士左右や後ろを向けるようになります。

 このプログラムを実行して、動きを確認してくださいね。

 そして、さらにたくさんの命令を追加することで歩行アニメーション付きで移動できるようになります♪

 スプライトの原点は、デフォルトだと左上になっているので、SPHOME という命令を使って、原点を中心にしておきましょう。



 左の画像のように入力すれば、方向キー歩行アニメーションありの移動ができるようになります。

 一気にプログラムが増えて、かなり難しいと思いますが、とりあえずプログラムを実行して、どのように動くかを見てください。

 

 このプログラムを応用すれば、アニメ付きのスプライト自由に操作できるようになるので、簡易セーブしておいて参考にしてくださいね。



オマケ.「手っ取り早くボタンでスプライトを操作したい人向けのサンプルプログラム」


 「細かい事は後回しにして、とりあえずボタンでスプライトを操作したい!」と考える人向けにサンプルプログラムを用意しました!

 本来は、「ゆっくり時間をかけて学んだほうが良い」と思いますが、「実際に動くプログラムを楽しむことで理解しやすくなる」ということもあると思ったため、このオマケを追記しました。

 緑色のコメントは入力しなくても良いので、それ以外を次の画像と同じように入力してみてください!



 入力したプログラムを実行(RUN)すると、画面の中央にイチゴのスプライトが表示されます。

 上下左右のボタンを押すと、イチゴが押した方向に移動します。

 画面の端まで進むと、反対側に移動するでしょう。

 AボタンまたはBボタンを押すと、イチゴが別のスプライトに変化します。

 何度も押すと一周してイチゴに戻ります。

 このように、ボタンでスプライトを操作できます。

 また、Xボタンを押すことでプログラムを終了できます。

 

 ちなみに、Yボタンには何も機能が入っていませんが、忘れたわけじゃなくて何か機能を追加したい場合の予備として入力しておきました。

 また、LRボタンなどを同じ形式で追加することも可能ですよ!

 このサンプルでは、BUTTON(ボタン)命令の最後の数値が 0 (ゼロ)になっていますが、この数値を 2 に変えてみてください

 変更したプログラムを実行(RUN)して、上下左右のボタンを押すと、全然動きが変わるでしょう?!

 0 (ゼロ)の時は「ボタンが押されている間ずっと移動する」のに対して、

 2の時は「ボタンが押された瞬間だけ移動する」からです。

 このように、連続して移動させたい場合には 0 (ゼロ)にして、ボタンが押された一回だけ反応させたい場合には 2 にします。

 この他にも、このプログラムの各数値を変化させることで、移動する範囲を指定したり、別のスプライトに変更したり、いろいろなアレンジができます。

 この機会に、サンプルを改造してみてくださいね!