キャリまが

30代で未経験からグローバル企業に転職した筆者が、英語、お金、子育てなどについて語るブログ

Scratch Jr.作例「ききいっぱつゲーム」後編(2/2):ループ機能を使って制限時間タイマーを作る

こんにちは、キャリまが管理人のヘルペスもちです。

さて、それではScratch Jr.で作る「ききいっぱつゲーム」後編です。

なお、まだ前編を読んでいない方はこちらからどうぞ!

また、いま作っているゲームの完成形はこちら↓


さて今回はゲームの制限時間を表示するタイマーを作ります!
Scratch Jr.でどうやって時間を測るのか。

さっそく行ってみましょう!

Scratch Jr.で制限時間タイマーを作る

制限時間タイマーですが、前編で自作した背景の丸の中に、時計の針を表示させ、それが一周したらゲームオーバーという風にプログラムします。


まず、時計の針を新規キャラクターで作ります。

三角形ツールで長い三角形を作るだけ…ではなく、ちょっとした工夫をしております。


時計の針の反対側に白いドットを描き込んであります。

時計の針だけだと、回転ブロックで回転させたときに、針の中間あたりを中心にして回転してしまうため、思った通りの時計っぽい動きにならないのです。

そこで、反対側にドットを描き込み、全体で1つのキャラクターとすることで、時計の針の付け根あたりを中心にして回転するようにしています。


なお、ドットの色は文字盤の色に溶け込んで見えなくするように白にしています。

針をゲーム画面上に配置したら、実際に回転ブロックで思った通りに動くか、位置を調整しましょう。
タブレット上で調整するのは結構たいへんですが、何度も調整してみてください。

ちなみに、指でキャラクターなどの微妙な位置を調整するのは大変なので、タッチペンがあると便利です。



Scratch Jr.の回転「1」単位の角度

さて、針のキャラクターが出来たらプログラムしていきます。

まず、ゲームがスタートしたら10秒待ったあと、右に「1」単位回転するようにします。


10秒は適当なので、ゲームの難易度次第で変更してください。

ここでポイントですが、実はScratch Jr.の回転ブロックの「1」単位は30度と決まっています。
つまり、「1」単位が30度なので、12単位で1回転(360度)しますので覚えておきましょう。


Scratch Jr.でループ機能を使う

さて続いてタイマー機能のキモとなるプログラムをして行きます。

先ほどの作ったプログラムを「くりかえす」ブロックで囲みます。
さらに、「くりかえす」の数字を「12」にします。
最後に、「じかんぎれ!」画面に遷移するようにして完成です。


これで、一定時間待ったら30度ずつ回転するプログラムが出来ました。
そして、12回繰り返したら針が一周して、時間切れとなります。

Scratch Jr.の限られた機能の中で制限時間タイマーをプログラムすることができました。

これでゲームは完成です!

どうでしょう?ちゃんと動きましたか?


まとめ

このゲームは作るのにけっこう時間がかかりました…。
いちばん苦戦したのは、前編の「ランダムに見える爆発の動き」でした。

ああいう動きは変数やサブルーチンといった機能が使えるとラクなのですが、Scratch Jr.ではそれが出来ません。

そのため、複雑な動きにしようとすると一個一個のプログラムが長くなってしまい、画面に入りきらなくなってよく分からなくなってしまうのです。

こいうのをプログラムの「可読性が落ちる」といいますが、プログラミングにおいてはコードを読みやすくいように綺麗にかくことも重要な要素です。

そうしたこともScratch Jr.を通して学んで行けると良いですね。

さて、これまでScratch Jr.でいくつかゲームを作ってきましたが、そろそろ上位版のScratchにも挑戦してみようかと思っています!
またアップして行きますね。

それでは〜。


スポンサーリンク