Shock Wave ゲームを作ろう
「モグラたたき」を作ろう
(その4)


10 スクリプトを書いてみよう。
Directorを買って箱を開けて、まず最初にビビルのが Lingo辞書の厚さでしょう。「こんなに命令があるのかぁ〜」
しかしこれらの命令の中で日常的に使うのはごく一部ですし、今ではあまり意味を持たないのですが旧バージョンとの互換の為に残されている命令もあります。私もかれこれ3年以上、Director漬けの毎日を送ってますが、使ったことのある命令はせいぜい1/4くらいでしょうか。

それでは下図の様に、フレーム14のフレームスクリプトの部分をダブルクリックします。



ここに開いたのがスクリプトウィンドウです。ここに書いたスクリプトはムービーの再生中、このフレームが再生された時だけ実行されます。Directorのスクリプトはこの様に、必要な時に必要な場所に書きます。ではここに「go to "6"」と書き足してみましょう。

on exitFrame
 go to "6"
end

1行目の「on exitFrame」は「フレームを出る時に実行する」と言った意味です。この行と「end」の間に書かれたスクリプトが、このフレームを出る時に実行されます。
では再生してみましょう。スコアの赤いラインに注目して下さい。再生がフレーム14まで進むと赤いラインがマーカー▽6までジャンプしています。この「go to "6"」が、「マーカー"6"に進め」と言う命令です。
では「go to "6"」を「go to 6」に書き換えてみましょう。今度はマーカー"6"ではなく、フレーム6にジャンプします。"6"(文字)を6(数字)に書きかえるとそれはマーカー名ではなくフレーム番号を意味します。

11 モグラをランダムに動かそう。
では、さらにスクリプトを書き換えてみましょう。

on exitFrame
 set X = random(8)
 go to string (X)
end

ここで2つの関数が出てきました、random( )は1からカッコの値の範囲で数値をランダムに返す関数です。random(8)で1〜8までの数値がランダムに返ります。string ( )は数値を文字に変換する関数です。例えば数値の 6 を文字"6"に変換し、フレームではなくマーカーにジャンプさせている訳です。
これを実行すると、再生がこのフレームに来たら、ランダムに▽1〜▽8のいずれかのマーカーへジャンプします。

ジャンプしたら戻さなくてはいけません。次にダブルクリックで、フレーム19のフレームスクリプトを開きましょう。そして以下のスクリプトを書きます。

on exitFrame
 go to "1"
end

書き終わったらスクリプトウィンドウを閉じましょう。内蔵キャストを見ると新たなメンバーが3と4に生まれているはずです。3がフレーム14のスクリプト、4がフレーム19のスクリプトです。この様にスクリプトもキャストメンバー、登場人物の一人として登録されます。スクリプトは数が増えると管理が難しくなりますから、必ず名前を付けましょう。



名前を付けましたら、スコアのフレーム24,29,34,39,44,49のフレームスクリプトに、内蔵キャストの4"戻る"をドラッグします。
これでモグラの動きは完成です。再生してみて問題なければ、コンパイルしてファイルを保存しましょう。
コンパイルはLingoで書かれたスクリプトを、コンピューターの言葉に翻訳する作業です。これを行なわないと、きちんと動かない場合があるので、保存する前には行なっておきましょう。
"制御"メニュー > "全スクリプトをコンパイル"を選択します。また、スクリプトウィンドウ内のイナズマの様なボタンでもコンパイルできます。



PREV   伝言板   NEXT