スポンサーリンク

[Scratch入門]Fishballゲームをつくろう!

2018年8月15日

これまで本やサイトでスクラッチでゲームを作りはじめました。
少しはスクラッチにも慣れてきたところです。
前回のふうせん割りゲームをつくろう!に続いて、今回はScratchサイトにあった「Fishball」を参考にして作ってみようと思います。

[Scratch入門]Fishballゲームをつくろう!

[Scratch入門]Fishballゲーム

Fishballゲームのルール

プレイヤーのネコが、サッカーボールを蹴ってゴールネット(詳しくは緑色の円がゴール)を揺らすと得点になります。
しかし、魚はあなたを止めようと邪魔してきます。
ネコは画面上でマウスを動かすことで動きます。
30秒でゲームオーバー

というサッカーのようなかんたんなゲームです。

Fishballゲーム制作のための参考

Scratchのサイトで「fishball」を検索すると何個か出てきます。
右上の青マーク「中を見る」をクリックすると、出来上がったブロックがスプライトごとに表示されますので参考にしてください。

私が参考にしたのは、上記のペーパーバック「ScratchChallenge」です。
英語で書かれていますが、ほかにもたくさんの実例が載っていてホントに参考になります。

Fishballゲームに必要な知識

変数
繰り返し(ループ)
条件文(もし○○なら)

さぁ、[Scratch入門]Fishballゲームをつくろう。

まずは工程をかくにん

スクラッチのサイトでほかの人がつくったFishballを見て完成物を確認します。
そして、どういう順序でつくったらいいか考えてみましょう

[Scratch入門]Fishballゲームをつくろう!1

  1. 背景を入れます
  2. スタート、ゴール、魚(フィッシュ)、サッカーボールのスプライトを追加します
  3. ネコがマウスで動くように設定します
  4. サッカーボールの動きを設定します
  5. 「サッカーボールがほかのスプライトに触れたら」の動きを設定します
  6. スコアの変数を作ります
  7. タイム(時間)設定をします(変数をつくる)
  8. バグ(不具合)を修正し完成です!

1 背景を入れます

[Scratch入門]Fishballゲームをつくろう!2

左下の「新しい背景」の一番左の「絵マーク」を選択し、ライブラリーの「スポーツ」の中から「goal1」を選択し「OK」を押してください。

2 スタート、ゴール、魚(フィッシュ)、サッカーボールのスプライトを追加します

「スタート」はスプライトのライブラリーの「もの」から「Button5」を、ゴール箇所は「Button1」を選択します。

[Scratch入門]Fishballゲームをつくろう!3

同じようにして「さかな」と「サッカーボール」を追加していきます。
「スタート」のバツと「ゴール」の緑円は名前を「スタート」「ゴール」に変えておきましょう。

3 ネコがマウスで動くように設定します

「イベント」の「旗がくりっくされたとき」を「スクリプトエリア」に持ってきます。
マウスでネコを動かすためには「動き」の「〇〇へ行く」の○○をマウスポインターに変更し、「旗」ブロックにつなげます。
これだけで動かしてみると、ネコは1回動いただけでそれっきり動きません。
そこで、「制御」の「ずっと」ブロックで「マウスポインターへ行く」を挟みます。

[Scratch入門]Fishballゲームをつくろう!4

4 サッカーボールの動きを設定します

サッカーボールはゲーム開始時にはスタートのPKラインにあった方が良いですね。
そのため「旗をくりっくされたとき」をスクリプトエリアに動かして、その下に「動き」の「〇〇へ行く」の〇〇をスタートに変えてくっつけます。
ネコがボールを追いかけるようにするので、ボールは画面の中を絶えず動いている必要があります。
そこで、「制御」の「ずっと」をそのまた下にくっつけて、間に「10歩動かす」「もし端についたら跳ね返る」を挟みます。

[Scratch入門]Fishballゲームをつくろう!5

5 「サッカーボールがほかのスプライトに触れたら」の動きを設定します

このゲームはネコがサッカーボールを蹴ってゴールネットを揺らすことで得点が得られるゲームです。
そのためボールがゴールに触れたら、ゴールとなり、ボールはスタート位置に戻る必要があります。
そこで、「制御」の「もし○○なら」ブロックの○○に、「調べる」の「〇〇に触れたら」の○○をgoalに変えます。
そしてブロックの間には「音」の「音を鳴らす」や「スタートへ行く」を入れます。
いったんゴールするとゲームはストップして再開するので、音とスタートの間に「制御」の「1秒待つ」を入れます。

またネコがボールに触れたらボールはネコと反対方向に動くことで、ネコがボールを蹴っているように見えますね。
そこで、「もしcatに触れたら」ブロックの間に、「catへ向ける」「180度回す」「10歩動かす」を入れます。
臨場感を出すためにブロックの頭に「音を鳴らす」を加えてみました。

魚(フィッシュ)はネコを邪魔してボールを蹴るわけですから、ネコと同じブロックを組みます。

[Scratch入門]Fishballゲームをつくろう!6

これらを「ずっと」ブロックの中の「もし端、跳ね返る」の下に入れていきます。

[Scratch入門]Fishballゲームをつくろう!7

6 スコアの変数を作ります

「データ」から「変数を作る」をクリックし、変数の名前を「scoreスコア」とします。
ボールのスプライトで「旗」ブロックと「スタート」の間に「scoreを0にする」を挟みます。
左のステージエリアの上にscoreが表示されてるのを確認してください。
そしてボールがゴールに触れたら得点1になるので、「もしgoalに触れたら」ブロックの「音」と「1秒待つ」の間に「scoreを1ずつ変える」を挟みます。

[Scratch入門]Fishballゲームをつくろう!8

7 タイム(時間)設定をします(変数をつくる)

このままだと延々とゲームは続いてしまい、終わりがありません。
そこで、30秒でゲームオーバーにします。
ネコのスプライトで、新たに「旗がクリックされたとき」を使います。
「データ」で「time」という名の変数を作ります。
「旗」ブロックの下に「timeを30にする」「timeを-1ずつ変える」「すべてを止める」をくっつけます。

[Scratch入門]Fishballゲームをつくろう!9

これで一度、旗をクリックして動作を確認してみます。
すると、30が一瞬で0になってしまい、すべてが止まってしまいました。
そこで、間に「1秒待つ」を入れ、「1秒待つ」と「-1ずつ変える」を「30回繰り返す」ブロックで挟みました。
動作確認すると、これでうまくいきました。

[Scratch入門]Fishballゲームをつくろう!10

8 バグ(不具合)を修正し完成です!

今回はバグ(不具合)はありませんでした!(^^)!

最初は誰だって初心者です。
やりながら順番に覚えていきましょう。
さぁ、プログラミングをはじめましょう。