複数のスプライトを右から左に異なる速度で繰り返し移動させる
説明
猫のスプライトが右から左に異なる速度で繰り返し移動します。移動する際にdirection, speed, moveを利用するととても簡単にアニメーションさせながら動かすことができます。乱数を使うことでスプライトごとに移動速度を変えることができます。
Studioで試す
以下のリンクから Jasmine Tea でこのサンプルプログラムを Studio 画面で開いて実際に試すことができます。プログラムを実行したいときは、エディターの右下にある青色の「実行」ボタンを押してください。
プログラム
// 複数のスプライトを右から左に異なる速度で繰り返し移動させる
cls
for i=0 to 9
sprite i,18
show i,(random(0,600),i*40)
direction i,7
speed i,random(1,20)
distance i,640*4
move i
next
解説
3行目で10枚のスプライトを処理するようにforを使って繰り返します。
4行目で変数iに割り当てられる番号(0〜9)にスプライト番号18を設定します。これは左向きの猫を示しています。この番号を変えれば猫以外にすることができます。
5行目でスプライトのX座標をランダムに設定しています。Y座標は変数iに40ピクセルを掛け算した値にしています。40の値を小さくすると猫の縦の間隔が狭くなります。
6行目でスプライトの移動方向を設定しています。移動方向は2番目のパラメーターで指定します。数値は以下の方向を示しています。このプログラムでは猫を左に移動させるため7を指定しています。
1: 上、2: 右上、3: 右、4: 右下、5: 下、6: 左下、7: 左、8: 左上、0: 移動しない
7行目はスプライトの移動速度を設定しています。2番目のパラメーターが移動速度になります。1が最も遅く、20が最も速くなります。random()に指定する最小値を1、最大値を20とすることで1〜20までの速度をランダムに設定しています。
8行目でスプライトの移動量を指定しています。移動量は1から2147483647までの数値を指定できます。無限の移動量は設定できなませんが、なるべく大きい値を設定しておけば、ほぼ無限にスプライトが移動するような状態になります。ここでは、画面を4周する距離を指定しています。
9行目でここまで設定したスプライトの移動処理を実行します。