サンプルプログラム
円を描きながら動くスプライト
説明
スプライトが円を描くように移動します。円運動させる方法はいくつかありますが、ここでは三角関数のsin、cosを使用しています。
Studioで試す
以下のリンクから Jasmine Tea でこのサンプルプログラムを Studio 画面で開いて実際に試すことができます。プログラムを実行したいときは、エディターの右下にある青色の「実行」ボタンを押してください。
プログラム
// 円を描きながら動くスプライト
cls
sprite 0,28
cx=300
cy=180
deg=0
r=140
do
x=cx+cos(deg)*r
y=cy+sin(deg)*r
show 0,(x,y)
deg=deg+0.5
loop
解説
3行目で0番目のスプライトに表示するスプライト番号を割り当てます。
4、5行目で円の中心座標を変数cx,cyに入れます。スプライトはこの座標を中心に円運動します。
6行目の変数degは角度を示しています。角度は0〜360度までですが、この範囲の値の場合は360で割り算した余りがsin,cosに渡されます。
7行目は円運動する際の円の半径になります。値が大きいほど大きな円運動になります。
無限に繰り返すため8行目でdoを指定します。これによりloopまでの9〜12行目までを繰り返し実行します。
9、10行目でスプライトの位置を計算します。これは以下の計算式になります。
X座標=中心座標+cos(角度)×半径
Y座標=中心座標+sin(角度)×半径
11行目でスプライトを指定した座標に表示しています。
12行目で円運動する際の角度の移動量を加算しています。値を大きくすると高速に円回転し、小さくするとゆっくりと円回転します。値を足した場合は時計回りに動きますが、値を引き算した場合は反時計回りにスプライトが動きます。