←前 次→ チュートリアルトップ

オブジェクトを動かす2

先ほど書いたプログラムについて解説します。

 
1:extends SpriteChar;
2:
3:while(x<$screenWidth) {
4: x+=1;
5: update();
6:}

もう少し複雑な動きをするオブジェクトを作ってみましょう

オブジェクトを作るを参考に、新しいオブジェクトを作成します

class2.png

新しいオブジェクトをダブルクリックして、次のように入力します(先頭のextends SpriteChar;は自動的に入力されているので新たに入力する必要はありません)

 
extends SpriteChar;
while(x<$screenWidth) {
 y+=vy;
 vy+=0.1;
 if (y>$screenHeight) {y=$screenHeight; vy=-vy;}
 x+=1;
 update();
}

実行してみましょう。オブジェクトが跳ねながら右に移動する様子が見えたと 思います。

さっきと違うのは、この3行が追加されたところです

 
4: y+=vy;
5: vy+=0.1;
6: if (y>$screenHeight) {y=$screenHeight; vy=-vy;}

if (y>$screenHeight) ...

これは、もし( if )yが画面下端の座標($screenHeight)より大きくなったら、つまり yが画面下端より下になったら、その後ろの{とで囲まれた部分を実行しなさい という意味です。

 そして、その{と}で囲まれた部分

... {y=$screenHeight; vy=-vy;}

これは、yを$screenHeightにして、下にはみ出ないようにします。 さらにvyの符号を反転(=移動方向のy成分を反転)します。

この「もし〜なら〜する」という記述はif文と呼ばれ、今後もよく出てくるので覚えておいてください

書式
if (条件) 処理

条件に書いた式が真であるときだけ処理を行います

←前 次→ チュートリアルトップ