LAST UPDATE 1998/08/15


『 その9-4 』


 ■ Build_Stage(最後)

image159.gif  Build_Stageの最後までのコードを下に示す。
    Ball_ID = AddMesh("ball.x", -1, 1)
ボールオブジェクトをシーンに追加している。親なしでフラットシェーディングを指定している。
    Ba.py = 0.35
ボールのY座標をセットしている。このオブジェクトの直径は0.7である。だからY座標は0.35になる。
    Ba.bno = BlockInfo(Ba.bx, Ba.bz, 1)
 Ba.bx, Ba.bzはボールがBlockInfo配列上のどこにいるかを示す変数で、Ba.bnoにはスタート時にボールがどのブロック上に乗っているかが格納される。値は通常ブロックの識別コードなので0~9までのどれかということになる。
    Ba.count = BCMax
 BCMaxは定数である。 JmainB/General/Declarationで32と定義してある。これはボールのスピードをコントロールするための数値で、「タイマーイベントが32回でボールがブロック1個を通過する。」という意味を持たせてある。Ba.countの内容はタイマーイベントが発生するたびに1ずつ数値が減らされていき、値が0になると次のブロックに移るという処理を行うためのものである。ちなみにBCMaxの値を小さくすると、玉が早く動くようになる。
    GflipCount = -1
この変数はゲートを通過したときにそれが裏返る動きをコントロールするための変数である。-1は何もしないを意味している。



 ■ 久々の動作チェック

 ここまでできたところでプログラムを走らせてみよう。
    1) はじめは何も起こらない。
    2) プルダウン : [Junction]を選択するとタイトルが表示され、玉がバウンドする。
    3) [スタートボタン]をクリックすると図のようになる。
うまく動いたであろうか。だめな場合はもう一度プログラムを確認してみよう。

image161.gif





その9 -1 | その9-2 | その9-3 | その9-4 | その9-5

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


もどる

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