できるがな(2)-4
もどる すすむメニューにもどる                  すすむ

「できるな」

早押しゲームを作ろう!(4)
ではまずタイマー機能をつけましょう。これは前の時にも勉強したようにStartTimerコマンドを使えばいいのですよね。

何かゲームの開始を告げるようなボタンを作って、それを押すことによってタイマーが作動するようにします。そしてある一定の時間が経てば終了するようにしてやります。これはヒントだけにとどめておきますね。

あとは画面を見栄えよくすればゲームのできあがりですよね。なぁんだ、結構簡単にできちゃった。

では色々工夫してみて下さいね。

はぁい。

……時間経過……
はい、できました!これでどうかしら?


稟さんが改良したムービー
3007 bytes

ほほぅ、これは大したモノですね。色々な工夫がされていますね。まず時間の流れを横棒で表すのはどのようにしたのですか?

さっき使ったthe width of sprite っていうので横幅を設定したんですよ。経過秒数/10秒(制限時間)のパーセンテージを出して、横幅に掛けているんです。こうすると棒がのびているように見えるでしょ。でも、実際は二つのシェイプキャストを重ねているのですよ。

set the width of sprite 3 to float(191.00 * (the timer /600.00))
ちゃんとfloatってコマンドもつかっているでしょ!すごいでしょ!

ほほう、これは素晴らしい。float(浮動小数点)を使わないと割り算の結果が整数でしかでてきませんからね(つまり0か1しかでてこない)。よく気がつきましたね。

いえいえ、単に試行錯誤していただけですよ。あと色々工夫してみたので、また見て下さいね。(内心「ふっふっふ」と思っているらしい)

クリックするとキャストが入れ替わる部分のスクリプト
( 爆発マークのキャスト番号は12番になっています)
on mousedown
 global score
 set score=score+10
 --まずは爆発マークの色を赤色(35)にします
 --すでに爆発マークのキャストは1ビットに変換してあります
 set the forecolor of sprite 10 to 35
 --爆発マークに入れ替えます
 set the castNum of sprite 10 to 12
 --フレーム移動をしていないので、強制再描画します
 updatestage
 beep
 put score &"pts"into field "score"
 --次は色を変更します
 --modとはあまりを求める関数です
 --色番号は255番までしかないので、このように記述します
 set the forecolor of sprite 10 to score mod 250
 --元のキャストに戻します
 set the castNum of sprite 10 to 1
 updatestage
end

--マウスを上げたときに瞬時に移動しないと
--ずっとクリックすることができます(実際にやればよくわかります)
--ですから「即」移動するようにします
on mouseUp
 move 10
 updatestage
end

--これは時間経過を判断するスクリプトです
on exitFrame
 set the width of sprite 3 to float(191.000 * (the timer /600.000))
 if the timer >600 then
  go to "end"
 else
  go to the frame -3
 end if
end

--文字が大きくなる部分のスクリプトです
on exitFrame
 set the textSize of field "score" to the textSize of field "score"+2
end
稟さん、今回はがんばりましたね!この調子で次回もがんばりましょう!

メニューに戻る


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