【アフィリエイト広告を利用しています】
この記事ではScratch(スクラッチ)でサッカーゲームを作る方法について解説します。
効果音が出たり、ゲームクリアやゲームオーバーがある本格的なゲームですが、Scratchに始めから登録されているスプライトを使って、手軽にゲームを作ることができますよ。
ゲーム作りなんて何だか難しそう…
そのような方に向けて分かりやすく解説していますので、ぜひ最後までお読みください!
Scratchの公式サイトはこちら→https://scratch.mit.edu/
以下の記事で簡単にできる11個のゲームの作り方を詳しく解説していますので、併せてご覧ください。
》【Scratch】初心者でも簡単!ゲームの作り方11選
このブログが本になりました!
完成品はこちら
まずは完成品を見てみましょう。下の画面中央の旗ボタンをクリックしてください。
(音が鳴りますのでご注意ください!)
ゲームのやり方は次の通りです。
- まず画面右下のスピードゲージのボールが左右に動くので、スペースキーを押してボールを止めましょう。ボールが右端に近いほどサッカーボールのスピードが速くなり、ゴールしやすくなります。
- サッカーボールは左右矢印キーで左右に動かすことができます。ゴールキーパーに止められないようにゴールを目指しましょう。ゴールできたらポイントが増えていき、5ポイントになればゲームクリアです。
- 途中でゴールキーパーに止められたらゲームオーバーです。ポイントが増えるとスピードゲージのボールが徐々に速くなって難しくなりますよ!
スプライトと背景を準備しよう
始めにゲームに使うスプライトと背景を準備します。
まずスプライトですが、ネコを削除して次の4つのスプライトを追加しましょう。
- 画面右下のボール…「Ball」
- キッカー…「Jordyn」
- サッカーボール…「Soccer Ball」
- ゴールキーパー…「Goalie」
背景は「Soccer」を選択します。
続いて画面左下に表示させるスピードゲージのスプライトを作ります。スプライト一覧の右下にあるにカーソルを合わせて、その上の「描く」ボタンをクリックします。
下のようなペイントエディター画面に切り替わります。「四角形(□マークのアイコン)」をクリックして、下のような長方形を描きましょう。
塗りつぶしをクリックし、左右のグラデーションを選択したら、左右の色を白色と赤色にそれぞれ変更します。これでスピードゲージの完成です。
以下の記事でペイントエディターの使い方を詳しく解説していますので、併せてご覧ください。
》【Scratch入門】ペイントエディターを使ってカービィを描こう
続いて画面に表示させる文字のスプライトを作ります。もう一度スプライト一覧の右下にあるにカーソルを合わせて、その上の「描く」ボタンをクリックします。
「テキスト(Tマークのアイコン)」をクリックすれば、文字を入力できるようになります。
では次のように「ゲームクリア」「ゲームオーバー」の2つのコスチュームを作りましょう。
「ゲームクリア」のコスチュームです。
「ゲームオーバー」のコスチュームです。
コスチューム名を変えておくと、プログラムを作るときに分かりやすくなりますよ。
これでスプライトと背景が準備できました!
変数を準備しよう
次にゲームに使う変数を準備します。
変数とは、プログラムの中で使う数や文字を入れておく箱のようなものです。
以下の記事で変数を詳しく解説していますので、併せてご覧ください。
》【Scratch入門】変数とメッセージを使ってアニメーションを作ろう
このプログラムでは、下のように4つの変数を作成します。
それぞれの変数の内容は次のとおりです。
変数名 | 内容 | 表示 |
---|---|---|
x座標 | サッカーボールのx座標を表す変数です。 | しない |
ゲーム中 | ゲーム中かどうかを表す変数です。 ・ゲーム中のとき…1 ・ゲーム中でないとき…0 | しない |
スピード | サッカーボールの速さを表す変数です。 | しない |
ポイント | ゴールした数を表す変数です。 | する |
メッセージを準備しよう
次にメッセージを準備しましょう。
メッセージは他のスプライトやステージに合図を送るときに使います。
以下の記事でメッセージを詳しく解説していますので、併せてご覧ください。
》【Scratch入門】変数とメッセージを使ってアニメーションを作ろう
このプログラムでは、下のように4つのメッセージを作成します。
メッセージ名 | 合図 | 送るスプライト | 受け取るスプライト |
---|---|---|---|
スタート | スペースキーが押されてゲームスタートするとき | ボール | サッカーボール、キッカー |
ゴール | ゴールしたとき | サッカーボール | キッカー |
ゲームクリア | 「ポイント」変数が5になったとき | キッカー | ボール、表示文字 |
ゲームオーバー | ゴールキーパーがボールを止めたとき | ゴールキーパー | サッカーボール、表示文字 |
「ボール」のプログラムを作ろう
それではボールのプログラムから作っていきましょう。
旗が押されたとき
旗が押されたときのプログラムは下の通りです。
旗が押されたら大きさと位置を設定し、「ゲーム中」変数と「ポイント」変数を0にします。
「ゲーム中」変数が0のとき、x座標を「ポイント」変数×2+1ずつ変えるのをずっと繰り返します。これでポイントが増えるとボールの動きが速くなります。
もしx座標が205より大きくなったら、x座標を75(最初の位置)に戻します。
以下の記事でスプライトの動かし方を詳しく解説していますので、併せてご覧ください。
》【Scratch入門】座標と向きを理解してスプライトを動かしてみよう
スペースキーが押されたとき
スペースキーが押されたときのプログラムは次の通りです。
スペースキーが押されたら、もし「ゲーム中」変数が0なら「スピード」変数をボールのx座標の値にして、「ゲーム中」変数を1にします。そして「スタート」メッセージを送ります。
「ゲームクリア」を受け取ったとき
「ゲームクリア」メッセージを受け取ったときのプログラムは次の通りです。
メッセージを受け取ったら、ボールの他のスクリプトを止めます。
「キッカー」のプログラムを作ろう
次にキッカーのプログラムを作りましょう。
旗が押されたとき
旗が押されたときのプログラムは下の通りです。
旗が押されたら大きさと位置を設定して、コスチュームを「jordyn-a」にします。
「スタート」を受け取ったとき
「スタート」メッセージを受け取ったときのプログラムは次の通りです。
メッセージを受け取ったら、1秒でx座標とy座標を-40と-130(サッカーボール横の位置)まで動かして、コスチュームを「jordyn-b」にします。これでボールを蹴る動きになります。
「ゴール」を受け取ったとき
「ゴール」メッセージを受け取ったときのプログラムは次の通りです。
メッセージを受け取ったら「ポイント」変数を1ずつ変えます。もし「ポイント」変数が5なら「ゲームクリア」メッセージを送ってこのスクリプトを止めます。
「Goal Cheer」の音を鳴らしたら、コスチュームを1秒おきに変えて、ゴール後にダンスする動きをします。
以下の記事で音の鳴らし方を詳しく解説していますので、併せてご覧ください。
》【Scratch入門】音を鳴らすプログラムを作ってみよう
位置とコスチュームを最初の設定に戻したら、「ゲーム中」メッセージを0にします。
「サッカーボール」のプログラムを作ろう
次にサッカーボールのプログラムを作りましょう。
旗が押されたとき
旗が押されたときのプログラムは下の通りです。
旗が押されたら大きさと位置を設定して、「x座標」変数を0にします。
「スタート」を受け取ったとき
「スタート」メッセージを受け取ったときのプログラムは次の通りです。
メッセージを受け取ったら1秒待って(この間にキッカーがサッカーボールを蹴ります)、y座標が75より大きくなるまでy座標をスピード÷50ずつ変えるのを繰り返します。これでサッカーボールがゴール上側のクロスバーの位置まで移動します。
右矢印キーが押されたらx座標を「スピード」変数÷50ずつ変えて、右に移動するようにします。この時、サッカーボールが右ゴールポストの外側まで移動しないように、x座標が90より左で移動するようにします。
同じように、左矢印キーが押されたらx座標を「スピード」変数÷50×-1ずつ変えて、左に移動するようにします。この時、サッカーボールが左ゴールポストの外側まで移動しないように、x座標が-90より右で移動するようにします。
「x座標」変数をサッカーボールのx座標にします。これでサッカーボールの位置によって「x座標」変数が変わります。
最後に「ゴール」メッセージを送ったら、4秒待って(この間にキッカーがゴール後のダンスをします)、最初の位置に戻したら「x座標」変数を0にします。
「ゲームオーバー」を受け取ったとき
「ゲームオーバー」メッセージを受け取ったときのプログラムは次の通りです。
メッセージを受け取ったら、サッカーボールの他のスクリプトを止めます。
「ゴールキーパー」のプログラムを作ろう
次にゴールキーパーのプログラムを作りましょう。
旗が押されたとき
旗が押されたときのプログラムは下の通りです。
旗が押されたら大きさと位置を設定します。
その後は次の動作をずっと繰り返します。まず「ゲーム中」変数が0のとき、x座標を-3にします。
また「ゲーム中」変数が0でないとき、「x座標」変数がゴールキーパーのx座標より大きければ、x座標を1ずつ変えます。これでゴールキーパーがサッカーボールの位置より左にいたら、ゴールキーパーが右に移動してサッカーボールに近づきます。
同じように「x座標」変数がゴールキーパーのx座標より小さければ、x座標を-1ずつ変えます。これでゴールキーパーがサッカーボールの位置より右にいたら、ゴールキーパーが左に移動してサッカーボールに近づきます。
もしサッカーボールに触れたら、「ゲームオーバー」メッセージを送ってこのスクリプトを止めます。
「スピードゲージ」のプログラムを作ろう
次にスピードゲージのプログラムを作りましょう。
旗が押されたとき
旗が押されたときのプログラムは下の通りです。
旗が押されたら大きさと位置を設定して、最背面へ移動します。
「表示文字」のプログラムを作ろう
最後に表示文字のプログラムを作りましょう。
旗が押されたとき
旗が押されたときのプログラムは下の通りです。
旗が押されたら最前面へ移動して、位置を設定したら隠します。
「ゲームクリア」を受け取ったとき
「ゲームクリア」メッセージを受け取ったときのプログラムは下の通りです。
メッセージを受け取ったら「ゲームクリア」を表示して「Win」を鳴らした後、すべてのプログラムを止めます。
「ゲームオーバー」を受け取ったとき
「ゲームオーバー」メッセージを受け取ったときのプログラムは下の通りです。
メッセージを受け取ったら「ゲームオーバー」を表示して「Lose」を鳴らした後、すべてのプログラムを止めます。
これで全てのプログラムが完成しました!
まとめ
この記事ではScratch(スクラッチ)を使ったサッカーゲームの作り方について紹介しました。
プログラムの理解が深まったら、次は下のような改造にもぜひチャレンジしてみてください。
- ゴールキーパーが移動する速さを変えてみよう。
- ゲームクリアの条件を変えてみよう。
- ゴール後のダンスの動きを変えてみよう。
このサッカーゲームのScratchプロジェクトのリンクはこちらです。自分オリジナルのゲーム作りにぜひ活用してくださいね。
》サッカーゲーム on Scratch
ゲームをやるのも楽しいけど、作るのも楽しい!
もっと本格的なゲームを作ってみたい!
このような好奇心が芽生えたら、お子様の豊かな未来を切り拓く可能性を広げるチャンスです。
近年、プログラミング教育はますます重要視されています。
2020年度から小学校でのプログラミング教育の必修化が始まっており、また大学入試では2025年1月から大学入学共通テストにプログラミングを含む教科「情報」が出題されます。
プログラミングは創造性や論理的思考を育む素晴らしいスキルですが、親御さんがプログラミングを教える専門家でない場合、お子様が学ぶためのサポートが必要です。
その手助けとして、プログラミング教室のご検討はいかがでしょうか?
以下の記事で小学生向けのおすすめプログラミング教室を紹介していますので、合わせてご覧いただければ幸いです。一緒に、子供たちの未来を輝かせる扉を開きましょう!
》【2024年最新版】小学生向けプログラミング教室3選
この記事を最後まで読んでいただき、ありがとうございました!
コメント