参考Tonyu基礎練習 ← 練習:変数:没 → 練習:グローバル変数 Tonyu基礎練習 ← 練習:変数:没 → 練習:オブジェクト変数 Tonyu基礎練習 ← 練習:変数:没 → .の使い方? 実際にはどのようになっているのか次のプログラムを見てみましょう。 Jiki.tonyu extends SpriteChar; while(1) { if (getkey(39)>0) x=x+3; if (getkey(37)>0) x=x-3; if (getkey(40)>0) y=y+3; if (getkey(38)>0) y=y-3; update(); } Tonyuではxとyはオブジェクトの位置を表す特別な変数です。ウィンドウの左上から右にx、左にyだけ移動した場所にそのオブジェクトが表示されます。 上の例では、xとyの最初の値が与えられていません。つまりは、xは最初の状態ではどこにいるのかわからないと言うことになります。 これがxの最初の値(初期値)です。 x=100,y=100 が初期値だったと仮定します。 getkeyで右カーソルキーが押された場合には、
x=x+3; のようになり、自機は右に3だけ移動します。 同様にして、左カーソルの場合 下カーソルでy=103となり下に3移動 することになります。 以下のプログラムを考えてみましょう。 Jiki.tonyu extends SpriteChar; while(1) { if (getkey(39)>0) x=3; if (getkey(37)>0) x=3; if (getkey(40)>0) y=3; if (getkey(38)>0) y=3; update(); } このプログラムではどのような移動を行うでしょうか? 右カーソルでx=3となりウィンドウの左から3の地点 となり、結果的にx=3,y=3の地点から移動していないということに気が付かれると思います。 このように変数を利用することにより、<font color=Red>ゲームを遊ぶ人がその人の意思にしたがって、それぞれ異なる動きを行ってもらう</font>事が可能になります。 おまけオブジェクトの位置をプログラム上で初期化してあげることも可能です。
Jiki.tonyu extends SpriteChar; x=100; y=100; while(1) { if (getkey(39)>0) x=x+3; if (getkey(37)>0) x=x-3; if (getkey(40)>0) y=y+3; if (getkey(38)>0) y=y-3; update(); } これは、オブジェクトの最初の位置がどこにあったとしても、かならずx=100,y=100の地点に設定されます。
Jiki.tonyu extends SpriteChar; while(1) { x=100; y=100; if (getkey(39)>0) x=x+3; if (getkey(37)>0) x=x-3; if (getkey(40)>0) y=y+3; if (getkey(38)>0) y=y-3; update(); } 「Jikiがまったく動いてくれません」
これでは、オブジェクトは Tonyu基礎練習 ← 練習:変数:没 → 練習:グローバル変数 Tonyu基礎練習 ← 練習:変数:没 → 練習:オブジェクト変数 Tonyu基礎練習 ← 練習:変数:没 → .の使い方? |