キー入力によるスプライトの移動制御
やること
この教材 では、キー入力によってスプライトの移動を制御する方法を学びます。この例では、矢印キーを使用してスプライトを移動するプログラムを作成します。
ステップ1
エディターに以下のプログラムを入力してみましょう。
show 0,(320,200)
speed 0,15
distance 0,32
do
key$=inkey$()
if key$="ArrowUp" then
direction 0,1
move 0
else if key$="ArrowRight" then
direction 0,3
move 0
else if key$="ArrowDown" then
direction 0,5
move 0
else if key$="ArrowLeft" then
direction 0,7
move 0
end if
loop
ステップ2
エディターの右下にある「▶実行」ボタンを押すと、入力したプログラムが実行されます。このプログラムは無限ループになるため、一定時間後に止めるボタンを押してプログラムを停止してください。その後、画面の右上にある「ドキュメント」タブを押して、ここに戻ってきてください。
では、「▶実行」ボタンを押してください。
ステップ3
実行画面に以下のように表示されたら成功です。
- スプライトが画面上に表示され、矢印キーの入力に応じて移動します。
- 矢印キーを押すたびに、スプライトが指定した方向に動きます。
ステップ4
実行したプログラムを解説します。
使っている命令の簡単な紹介
-
show
はスプライトを指定した位置に表示する命令です。 -
direction
は スプライトの移動方向を指定する命令です。値は0〜7で方向を示します(例: 3は右方向)。 -
speed
は スプライトの移動速度を指定する命令です(単位はピクセル/フレーム)。 -
distance
は スプライトが移動する距離を指定する命令です。 -
move
は スプライトを動かす命令です。 -
inkey$
は キー入力を取得する関数です。
プログラムで行われていること
-
show
命令でスプライトを初期位置(320,200)に表示します。 -
speed
およびdistance
命令でスプライトの移動条件を設定します。 -
do-loop
内でキー入力を取得し、矢印キーに応じてスプライトの方向を変更し移動させます。
学ぶべきこと
- キー入力でスプライトの動きを制御する方法。
- 方向や速度を動的に変更する方法。
チャレンジ
- スプライトの移動速度を変更するためのキー(例: "a" キー)を追加してみましょう。
- スプライトの移動距離を変更するためのキー(例: "b" キー)を追加してみましょう。
- 複数のスプライトを表示し、それぞれを異なるキーで制御できるようにしてみましょう。