LAST UPDATE 1998/07/04


『 その4-7 』




 ■ プログラムを改造する


 表示するだけではつまらないので、動くようにしてみよう。
 まずStopボタンは必要ないので削除する。フォームのStopボタンを左クリックすると、選択された状態になるので、そのままDeleteキーを押す。するとこのボタンはフォーム上から姿を消す。


ところが、タイマーイベントの実験プログラムで、Clickイベントの部分にコードを書き込んである。このコードはボタン(一般的にはコントロールと呼ぶ)がなくなったため行き場所を失い、Generalに移動する。


コントロールリストでGeneralを呼び出し、

続いてイベントリストでCom_Stop_Clickを呼び出すと

そのコードが表示されるので、全て消してしまおう。マウスドラッグで全てを選択し、Deleteキーを押せば良い。

次に、フォームの左下にコマンドボタンを配置する。

Captionを左向きの矢印にして、コントロール名はCom_Rotate_Lにする。

続けて同様に上下右用のボタンを追加する。名前はそれぞれ
    Com_Rotate_U
    Com_Rotate_D
    Com_Rotate_R
にする。

 はて、右回転、左回転というのはわかるが、上回転、下回転とはどういった回転なのだろう。まあ良いか。細かいことは気にしないのが良いプログラマーになる秘訣である(これは絶対に本当)。
 ボタンが配置できたら、コードを書き込む。まず「←」ボタンをダブルクリックして Com_Rotate_L_Clickを呼び出し、以下のコードを書き込む。
    Call Rotate_R(0, 0, 10, 0)
    Call Dx_Draw
 同様に他の3個のコマンドボタン用にもコードを書き込む。
    Com_Rotate_U_Click
    Call Rotate_R(0, 0, 10, 0)
    Call Dx_Draw
     Com_Rotate_D_Click
    Call Rotate_R(0, 0, 10, 0)
    Call Dx_Draw
     Com_Rotate_R_Click
    Call Rotate_R(0, 0, 10, 0)
    Call Dx_Draw

 ■ 実行する

 では実行してみよう。起動したらまずStartボタンを左クリックし、ボールを表示させる。そして、今追加した4個のボタンを適当に左クリックしてみよう。玉が回転した。やった~ついに3次元である。あなたはついに3次元っぽいプログラムを作ることができたのである。

 ■ プログラム解説

 ここで登場した関数は、Rotate_R。これは物体を相対角度で回転させるものである。
 最初の引数は、世界(シーン)に読み込まれているオブジェクトのID番号で、1個だけ読み込まれているから、0番目ということで0
 次が回転の相対角度で、XYZの順番である。通常プログラムで角度を扱う場合「ラジアン」と呼ばれる方式が多いが、AtelieDx3.DLL内では理解しやすいようにすべて角度で表す。なんという心遣いであろう。



その4-1 | その4-2 | その4-3 | その4-4 | その4-5 | その4-6 | その4-7

『 サルのゲーム製作講座 』 目次 | その 1 | その 2 | その 3 | その 4 |
その 5 | その 6 | その 7 | その 8 | その 9 | その 10 | その 11


もどる

e-mail: sc_3da@magical2.egg.or.jp