できるがな(2)-3
もどる すすむもどる                  すすむ

「できるな」

早押しゲームを作ろう!(3)
スクリプトを書き込めばいい場所はわかったんですけどね……なんてかけばいいんでしょ?

とりあえず得点などと考えるとしんどくなるので、まずは動作するかどうかだけを確認してみましょう。キャストスクリプトに以下のように書き込んで下さい。

on mouseUp
 beep
end
こうすればこのキャストがクリックされるとビープ音がなるはずです。試してみて下さい。

あ、確かになりましたね。じゃスクリプトの位置とか動作は間違っていなかったんだ。じゃ、あとはこれを得点換算に直せばいいのですよね。ええと、じゃ、こんな風にしたらどうなるかしら。

on mouseUp
 beep
 set score=score+10
end

ううん、それでは得点が加算されませんよ。この変数scoreってやつは何度もつかう変数ですよね。グローバル宣言ってやつをしておかないと、次にこの命令を実行したときには、この変数の値をすっかりわすれてしまいますね。それにあと一つだけあるのですが、この変数の初期値……つまり最初の値が入っていませんよね。これでは足し算ができませんよ。

はぁい。じゃ、まずはグローバル宣言と初期設定をon startMovieに書き足しておきましょうか。

on startMovie
 global score  puppetSprite 10,TRUE
 set the widht of sprite 10 to 50
 set the height of sprite 10 to 50
 set score to 0
end
あとそれと、キャストスクリプトも1行足しておきましょう。
on mouseUp
 beep
 global score
 set score=score+10
end

これで大丈夫なはずですよ。あとはこの得点を見えるようにすればいいのですよ。さっきのキャストスクリプトのendの直前の行にput scoreって書いておきましょうか。宛先なしのputはメッセージウィンドウに値を出力します(ver5.0をお使いの方はウォッチャーウィンドウをお使いになるのが一番簡単です)

あ、ゲームらしくなった。あとはこれをフィールドに表示させればいいのですよね。ええと、画面にツールパレットからフィールドツールを選択して、ステージ上に書き込んで……このフィールドに名前をつけて……ええと"score"って名前にしておこう。ちゃんとスコア上でフレーム1から5までインビトゥインしてと……

そしてキャストスクリプトにこの行を足しておきましょうか。

on mouseUp
 beep
 global score  set score=score+10
 put score into field "score"
end
これでフィールド上にスコアが表示されるはずですよ。でもこれではちょっとおかしいところがありますね。

え?どこですか?あ、そうか、クリックするまで得点が表示されないんだ。……ということはstartMovieのハンドラに得点を表示するように、つまりゲーム開始時に得点を表示するようにしておけばいいのだ!わかったわかった。つまり

on startMovie
 global score  puppetSprite 10,TRUE
 set the widht of sprite 10 to 50
 set the height of sprite 10 to 50
 set score to 0
 put score into field "score"
end
ってな感じにすればいいのね。

はい、その通りです。これでとりあえずはゲームになりましたよね。これから色々な機能を付けていこうと思います。

つぎにゆく


© Akira SAno 1996.1997
All rights reserved.
homeできるなメニューにもどる