【中級:作り方説明+クイズ形式】Scratch(スクラッチ)でもぐらたたきゲームを作ろう!
Scratch(スクラッチ)でもぐらたたきゲームを作ります。ゲームを作る過程で、カスタムブロック(関数)について説明します。
日時: 2023/08/26(土) & 2023/08/27(日) 17:30 ~ 18:30
場所: オンライン講座
対象: KIDSPROスクール生、KIDSPRO eラーニングをご利用の方
必要なもの: Scratchが使えるパソコン、またはタブレット
費用: 無料
説明動画で作るScratchプロジェクト
・タップ(クリック)で、お化けをたたいてね
・お化けをたたくと1点
・ゲーム時間は15秒
※Scratchプロジェクト「もぐらたたきゲーム」は、https://scratch.mit.edu/projects/885571991よりアクセスできます。
もぐらたたきゲーム:お化けのスクリプト
のスクリプト
コスチューム:
- 旗をクリックしたら、大きさ35%、コスチュームになり、x座標=0、y座標=0(ステージの中心)に移動する。
※お化けのスプライトが5つあるが、スプライト毎にx座標とy座標の値を変える必要があるので注意。なお、x座標とy座標の値以外のスクリプトは全て同じでよい。 - ずっと処理3-4を繰り返す。
- 1~5回のいずれかの回数、コスチュームになってからカスタムブロック を実行し、コスチュームになってからカスタムブロックを実行する。
※カスタムブロック「上下運動」には2つの引数を設定しており、1つ目の引数で「y座標を()ずつ変える」ブロックを繰り返す回数を渡し、2つ目の引数でy座標を変えるピクセル数を渡している。を実行するとy座標を1ピクセルずつ変えるブロックを5回繰り返す。一方、を実行するとy座標を-1ピクセルずつ変えるブロックを5回繰り返す。 - 「Jump」の音を鳴らしコスチュームになったあと、カスタムブロックとを順番に実行する。
- カスタムブロック「上下運動()()」を実行すると、1つ目の引数の回数だけ「y座標を()ずつ変える」ブロックを繰り返すが、y座標は2つ目の引数の値で変更する。つまり、2つ目の引数がプラス値なら上方向に移動し、マイナスなら下方向に移動する。
- 0.5秒間だけプログラムの実行をストップする。
- お化けのコスチュームをクリックしたとき、コスチューム番号が3(つまり、コスチューム)だったら、処理2を実行する。
- 変数「得点」を1だけ増やし、「Squeaky Toy」の音を鳴らし、コスチュームに変える。
※お化けがカスタムブロック→により、大きく上下運動をしているときだけコスチュームはとなる。つまり、お化けが大きく上下運動しているときだけ、お化けをクリックすると得点が1点増えて音がなる。つまり、カスタムブロック→で小さく上下運動しているお化けをクリックしても、何も起こらない。
注意)5体のお化けのスクリプトは、「x座標を()y座標を()にする」ブロックの座標値が異なるだけで、他は全て同じです。1体のお化けのスクリプトが完成したら、お化けのサムネイルをコピーペーストしてから、x座標とy座標の値を変更してください。
カスタムブロックは、ユーザーが独自に定義したブロックのことを指します。これを使用すると、複数のブロックの組み合わせを一つのブロックとしてまとめることができます。これにより、同じ処理を何度も繰り返し使用する場合に、その処理を一つのカスタムブロックにまとめて再利用することができます。テキスト系プログラミング言語でいう「関数」と同じものと言えます。
また、同じようなブロックの組み合わせでも、繰り返し回数や移動するピクセル数などの詳細が異なる場合、それらの特定の数値や情報を渡すための「引数」をカスタムブロックに追加することができます。これにより、同じカスタムブロックを異なる値や設定で利用することが可能になります。
今回のモグラたたきゲームにおけるは、
を意味する。
もぐらたたきゲーム:土(巣)のスクリプト
のスクリプト
※コスチュームの土は、ペイントエディターで描いてください。
- 旗をクリックしたら、x座標=0、y座標=0(ステージの中心)に移動し、最前面に表示される。
※お化けの巣である土は、お化けの前面に表示される。また、土のスプライトは5つのお化け毎にx座標とy座標の値を変える必要があるので注意。
もぐらたたきゲーム:背景のスクリプト
- 旗をクリックしたら、変数「得点」が0にリセットされ、変数「得点」のステージモニターがステージから消える。
- 15秒間、本スクリプトの実行をストップする。
- 変数「得点」のステージモニターをステージに表示したあと、全てのスプライトのスクリプトを停止する。
※このスクリプトにより、旗をクリックして15秒経ったらゲームが終了するようになる。
MITメディアラボにより開発されたビジュアルプログラミング言語。子供たちが物語やゲーム、 アニメーションなどのインタラクティブな作品をプログラミングできる。また、自分の作った作品を世界中の人々と共有できるコミュニティーサイトでもある。世界中で1億人を超えるユーザがいる。
こちらのホームページにアクセスすれば無料で利用できる。