前回、制限時間を設ける方法を考えてみました。
では、その方法を具体的にスクリプトに組んでいきましょう。
- “旗”をクリックする代わりに、「[メッセージ1▼]を送る」で”メッセージ1″を送ることで猫やコウモリが動くように、「”旗”がクリックされたとき」を「[メッセージ1▼]を受け取ったとき」に置き換えます。
- “メッセージ1″を送るタイミングは、”旗”がクリックされたら送ることにします。
- “メッセージ1″を送ってから、制限時間だけ待ちます。
- 制限時間だけ待ったら、「[すべて▼]を止める」
前回の最後に「[すべて▼]を止める」の動きを実験してみました。
今回は、『制限時間だけ待ったら、「[すべて▼]を止める」』を今までのファイルに追加します。
前準備
(1)前回まで作成したスクリプトやスプライトを保存したファイルをダブルクリックして開きます。
(2)「ステージ」をクリックします。
(3)「スクリプト」になっていることを確認します。
「< >まで待つ」を用意する
(4)「制御」をクリックします。
(5)「< >まで待つ」をドラッグして、右のウインドウの空いた位置にドロップします。
制限時間だけ待つというのは「どうなる」まで待つ?
制限時間だけ待つというのは、時間が「どうなる」まで待つことなのでしょうか。
今回は1分間、つまり60秒間を制限時間とした場合について、考えてみましょう。
時間は「調べる」の中の「タイマー」で分かります。
この「タイマー」は、0.1秒ごとに0.1増えていきます。
では、60秒間待つとすると、「タイマー」と”60″を比べて、どうなればいいでしょうか。
(a)「タイマー」と”60″が同じ。
(b)「タイマー」が”60″より小さい。
(c)「タイマー」が”60″より大きい。
。。。うーん、(a)かなぁ。。。
おしい。
実は、「タイマー」と”60″が同じか、「タイマー」が”60″より大きければいいです。
。。。「タイマー」が”60″より大きいのも含めるのは、なせ?
これは、もし、何かの事情で「タイマー」が、ちょうど 60 にならないときに、ずっと待ち続けてしまうのを防ぐためです。
こうすることで、制限時間を超えていれば、必ず「待ち」をやめます。
では、「どうなる」というのは、『(a)「タイマー」と”60″が同じ。』と『(c)「タイマー」が”60″より大きい。』のどちらかが当てはまる状態になる、ということでしょうか。
「タイマー」は、いつも動いている
実は、「タイマー」というものが曲者で、それを使った時点での”時間”なので、(a)のときと(c)のときに違う可能性があります。
そこで、一度に済ますために、逆のことを考えてみます。
(a)と(c)ではない状態というのは、つまり『(b)「タイマー」が”60″より小さい。』という状態です。
つまり、『『(b)「タイマー」が”60″より小さい。』状態ではない』まで待てばいいのです。
では、具体的にスクリプトにしてみましょう。
『『(b)「タイマー」が”60″より小さい。』ではない』まで待つ
(6)「演算」をクリックします。
(7)<< >ではない>をドラッグして、「< >まで待つ」の中に持っていき、ドロップして入れます。
(8)<[ ]<[ ]>をドラッグして、<< >ではない>の中に持っていき、ドロップして入れます。
☆<< >ではない>の中の< >が白くなってからドロップしてください。
(9)「調べる」をクリックします。
(10)「タイマー」の左の□にチェックを入れ、左のウインドウに表示されるのを確認します。
(11)「タイマー」をドラッグして、<[ ]<[ ]>の左側の□の中に持っていき、ドロップして入れます。
(12)<[ ]<[ ]>の右側の□に 60 を入力します。
では、制限時間を越えたら止まるようにしましょう。
すべてを止める
(13)「制御」をクリックします。
(14)「[すべて▼]を止める」をドラッグして、右のウインドウにある「<<[タイマー]<[10]>ではない>まで待つ」の下にドロップします。
ここまでの内容を保存しておきましょう。
保存する
(15)「ファイル」をクリックして、「名前をつけて保存」をクリックして、適切なファイル名を付けて「OK」ボタンをクリックします。
(今回は”10歩歩く、跳ね返る、背景、最初に回転は左右、コウモリ追加と動き、同時開始、猫鳴く、BGM、コウモリ小さく、セリフを言う、ちょっと待つ、位置調査、猫とぶ3、ぶつかったら鳴き点つく2、制限時間1.sb2″としました。)
では、ここまでで、うまく動くか確認してみましょう。
実験する
(16)「調べる」をクリックします。
(17)「タイマーをリセット」をクリックして「タイマー」をリセットします。
☆左のウインドウにある「タイマー」の値が 0 になり、すぐに増えていくのが分かると思います。
(18)”旗”をクリックします。(タイマーが 60 になる前までに。)
(19)では、タイマーが 60 になったら、止まるか確認してみましょう。
どうでしょうか。
無事止まりましたでしょうか。
今回はここまで。
次回をお楽しみに。
☆前回はSCRATCHをやってみた!28でした。
☆次回はSCRATCHをやってみた!30です。
sammyの相方です。
時たま出てくることがあります。