【中級:作り方説明】Scratch(スクラッチ)でサッカーゲームを作ろう!
Scratch(スクラッチ)でサッカーゲームを作ります。KIDSPRO岡田哲郎著書「スクラッチ3.0でゲームを作ろう!」に掲載されているサッカーゲームの作り方を解説します。
日時: 2023/07/08(土) & 2023/07/09(日) 17:30 ~ 18:30
場所: オンライン講座
対象: KIDSPROスクール生、KIDSPRO eラーニングをご利用の方
必要なもの: Scratchが使えるパソコン、またはタブレット
費用: 無料
説明動画で作るScratchプロジェクト
ステージをクリックしてボールをキック!
※Scratchプロジェクト「サッカーゲーム」は、https://scratch.mit.edu/projects/872315481/よりアクセスできます。
サッカーゲーム:プレイヤー(Jordyn)のスクリプト
のスクリプト
- 旗をクリックしたら、
- コスチュームがjordyn-a:になる。
- x座標-150、y座標-70の位置に瞬間移動する。
- ステージをマウスクリック(画面タップ)するまで待つ。
※マウスクリックするまで、プログラムの実行を処理4でストップする。マウスクリックした後に、処理5以下のスクリプトが実行される。 - スプライトSoccer Ballに触れるまで、Soccer Ballの方向に6ピクセル動くスクリプトを繰り返す。
- コスチュームがjordyn-b:になり、「Basketball Bounce」の音がなる。
※処理4-6により、ステージをマウスクリックするとプレイヤーはボールに向かって動き出し、プレイヤーがボールに触れるとプレイヤーのコスチュームが変わり、プレイヤーがボールを蹴ったように見える。 - メッセージ「キック」を送る。
※メッセージ「キック」の送信タイミングにより、スプライトSoccer Ballが右方向に動くプログラムが実行される。 - 0.5秒待ってから、コスチュームがjordyn-a:に戻る。
サッカーゲーム:敵(Ben)のスクリプト
のスクリプト
- 旗をクリックしたら、
- コスチュームの大きさを65%にする。
- ずっと繰り返し下記処理4-5を行う。
- コスチュームがben-c:になった後、1秒かけて、x座標が50~150のいずれか、y座標が-150から0のいずれかの場所に移動する。
- 移動が終わったらスチュームがben-d:に変わり、2秒間待つ。
サッカーゲーム:ボール(Soccer Ball)のスクリプト
のスクリプト
- 旗をクリックしたら、
- 大きさを60%にし、x座標0、y座標-80にする。
- ずっと繰り返し、処理4-5を実行する。
- Soccer Ballのy座標が0よりも大きくなるまで、y座標を1ずつ変えるブロックを繰り返し実行する。
※このスクリプトにより、Soccer Ballはステージの中心(y座標0)まで、上方向に移動する。 - Soccer Ballのy座標が-160よりも小さくなるまで、y座標を1ずつ変えるブロックを繰り返し実行する。
※このスクリプトにより、Soccer Ballはステージの下部(y座標-160)まで、下方向に移動する。
注意)y座標のしきい値-160よりも小さい値にすると、Soccer Ballはステージの端に触れてしまい、次に説明するスクリプトが正しく動かなくなるので注意して下さい。
- メッセージ「キック」を受け取ったら、
- スプライトの他のスクリプトを止める。
※を実行すると、同じスプライトの内で動作中の他のスクリプトを停止することができる。Soccer Ballでは先に説明した「センターラインを上下する」スクリプトを停止することができる。「センターラインを上下する」スクリプトを停止させないと、Soccer Ballを右方向動かすことができない。 - Socce Ballの向きを75%(右斜め上)にする。
- Soccer Ballがステージの端に触れるまで、処理5-6を繰り返し実行する。
- 1度だけ右に回転しながら、8ピクセルずつ移動する。
- もしも、敵(Ben)に触れたら、終わるまで「Crazy Laugh」の音を鳴らして、すべてのスプライトのスクリプトを停止する。
※この条件文が実行されるときは、Soccer Ballが敵(Ben)にぶつかり、シュートが阻止されたことになるので、ゴール失敗を示すような「Crazy Laugh」の音を鳴らした。
注意)にするとがすぐに実行されてしまい、「Crazy Laugh」の音が聞こえないので注意して下さい。 であれば、「Crazy Laugh」の音が鳴り終わってからが実行されます。 - 終わるまで「Goal Cheer」の音を鳴らして、すべてのスプライトのスクリプトを停止する。
※この処理が実行されるときは、処理4のSoccer Ballが端に触れるまで繰り返すブロックが実行されたときで、Soccer Ballがステージに端に触れている状態である。つまり、Soccer Ballが敵(Ben)に触れずにゴールされていることを意味するので、ゴール成功を示す「Goal Cheer」の音を鳴らした。
止めるブロックは、スクリプトの動きを止めるためのブロックです。これらのブロックを使うと、プログラムの動き(シーケンス)を細かく制御することができます。
Scratchプロジェクトの中で動いているすべてのスクリプトを止めます。すべてのスプライトや音楽、動き、すべてが止まります。
このブロックが含まれているスクリプトだけを止めます。他のスクリプトやスプライトの動きは止まりません。
同じスプライトの中で動いている他のスクリプトを止めます。このブロックが含まれているスクリプトは止まらず、他のスプライトも影響を受けません。
MITメディアラボにより開発されたビジュアルプログラミング言語。子供たちが物語やゲーム、 アニメーションなどのインタラクティブな作品をプログラミングできる。また、自分の作った作品を世界中の人々と共有できるコミュニティーサイトでもある。世界中で1億人を超えるユーザがいる。
こちらのホームページにアクセスすれば無料で利用できる。