パパ先生のゲーム開発ブログ

二児のパパがゲーム開発アレコレを書いているブログ。Unity / UE4 / Scratch / プログラミングゼミ / プログラミング教育

[Scratch] 制限時間(カウントダウン)の作り方

ゲームでは「残り30秒」など、

制限時間(カウントダウン)の表現をよく使います。

f:id:papa-sensei:20200203122952p:plain

 

今回はスクラッチで、2つのやり方で制限時間の作り方を紹介します。 

 

(サンプルは5秒後にヒヨコが産まれる動きです)

 

1. 自分で時間を計算するやり方

まずは自分で秒のカウントダウンを計算していくやり方です。

 

「くりかえし」と「○びょうまつ」ブロックを使い、

1秒待つ -> (カウントダウンから1ひく) -> 1秒待つ

の動きを繰り返します。 

f:id:papa-sensei:20200203123038p:plain

1秒ごとなどのカウントダウンでは、よく利用されると思います。

 

2. タイマーを使ったやり方

次に「タイマー」機能を使ったやり方です。

タイマーはストップウォッチのように、スタートした瞬間からの時間を計測します。

 

タイマーの値は、しらべるカテゴリの「タイマー」

タイマーの時間を0に戻したい場合は「タイマーのリセット」を使います。

f:id:papa-sensei:20200203123138p:plain

 

このタイマーを使って、(制限時間 - タイマーでの経過時間)

残り○秒をカウントしていきます。

f:id:papa-sensei:20200203123152p:plain

今回は「秒」だけ表したいので、切り下げをしていますが、

無い場合は、小数第三位までの時間が表示されます(例:カウントダウン 4.123)

 

f:id:papa-sensei:20200203123209p:plain

 

自分で1秒待ってカウントダウンしていくやり方との違いは、

タイマーは秒より小さい値(0.123秒など)まで計測するので、

ストップウォッチのように、ミリ秒単位まで表示したい場合は、

タイマーを使った方が楽かもしれません。

f:id:papa-sensei:20200203123056p:plain