Scratch(スクラッチ) で誰でも簡単!シューティングゲームの作り方

このページでは
こどもプログラミング教材:Scratch(スクラッチ)の使い方と、最初に作るのに最適なシューティングゲームの作り方をご紹介します。
はじめてScratchにログインしたはいいけれど、何を作ろうか迷いますよね。。
  • 最初だからこそ、こどもたちがプログラミングに興味を持ってもらいたい
  • 左右に歩くだけよりは、もう一歩すすんだ楽しいものがいい
  • 難しすぎたら元も子もない
そんな方におすすめなのが、簡単なシューティングゲームです。
完成してこどもと一緒に楽しめるだけでなく、キャラクター選びから動きをつける過程も相談しながら進めると結構楽しいですよ。
 
もっとシンプルなプログラミングもできるかもしれませんが、主要なブロックの組み合わせをご紹介したいと思いますので、ご参考にしていただける嬉しいです^_^

Scratch基本①「スプライト(キャラクター)と背景」

スプライトのえらびかた

スクラッチでは、自分でスプライトを作成することができます。

ここではゲーム制作とプログラミングに集中できるよう、まずは用意されたスプライトを使って楽しむことを優先します。

MEMO
スクラッチの世界ではキャラクターのことを「スプライト(妖精という意味)」と呼びます。

まずログインして「つくる」をタップすると、上の画面が表示されます。

画面の右下がスプライトをいじるワークスペースです。
まずはネコの右横に十字マークのついたアイコンがありますので、タップします。

ここからスプライトを追加することができ、鉛筆アイコンで自作するか、虫眼鏡アイコンで用意されたスプライトを選ぶことができます。

今回は、以下のスプライトを使うことにしました。

  • Pico…プレイヤーとして使用
  • ロケット…プレイヤーの攻撃
  • 虹…プレイヤーの防御
  • ゴースト…敵役
  • かみなり…敵の攻撃

なお、使用しないスプライトは、スプライトを長タップ(or右クリック)することで削除できます。

今回、ネコのスプライトは使用しないので、削除することとしました。

スプライトの大きさ

 

選んだスプライトは、右上のステージに表示がされます。

見ての通り、選んだスプライトはとても大きいですね。

そこで以下の方法でスプライトの大きさを変更しましょう。

  1. 右下のスプライトをタップ・選択
  2. 「おおきさ」を好みの大きさに変更
  3. ステージで大きさを確認

背景を選ぶ

続いて背景を選びます。
右下の背景の欄に十字アイコンがあるので、そこをタップして、好きな背景を選びましょう。
 
ここでは、カラフルでかわいい街中の戦いを選択しました。

Scratch基本② スプライトを動かしてみよう:「イベント」と「制御」

次に、スプライト・背景を選んだら、スプライトを動かしてみましょう
まずはゴーストが上空で左右に動くようにしたいと思います。
 

スプライトでは、一番左にある「うごき」や「みため」などのカテゴリーごとに用意された「ブロック」を使いながら、プログラミングをしていきます。

まずゴーストを少しだけ動かしてみましょう。右下のスプライト一覧でゴーストをクリックしたら、次のようにブロックを使用してみます。

  • 「イベント:緑の旗がクリックされたら
     …プログラムの始まる条件の役割。
  • 「うごき:10ほうごく
     …少しだけ動く命令。ドラッグ&ドロップして、「緑の旗〜」の下にくっつけて下さい。

これで緑の旗をクリックすると、ゴーストが少しだけ右に動くようになります。

ただイメージとしては、ゴーストはずっと左右に動き続けるようにしたいので、続いて以下のブロックを加えてみましょう。

 

最初なので、それぞれのブロックの働きを説明すると、

  • せいぎょ:ずっと
    …逆コの字のブロックに入っている命令を繰り返し行うブロック。
  • うごき:かいてんほうほうを さゆうのみにする
    …画面端から反転するとき、上下が反転しないようにするための命令。
  • うごき:もしはしについたら、はねかえる
    …画面の端についたら、反対方向に動くようにするための命令。
  • せいぎょ:0.2びょうまつ
    …この命令により、ゴーストの動きをゆっくりに変えることができる。
     何もしないとすごい早いです。。
これで主要キャラのゴーストの動きを設定することが出来ました!

ずっとブロックからの命令は、1つずつ緑の旗で実行しながら段階的にやってみてください。

「あれ?こうしたいのに…」という問題を一緒に解決した方がプログラミングの醍醐味を味わえますし、何より変な動きをするのもこどもたちにとって面白く、結構盛り上がりますよ^_^

Scratch基本③ 「クローン」機能を使いこなそう

続いて、2秒毎にゴーストからカミナリが発射される動きをプログラミングしてみます。

初めてスクラッチでシューティングゲームを作ろうとした際に、1番悩むのはこのカミナリの動きだと思います。

ここでは、「クローン」という機能を使うことでプログラミングをしていきたいと思いますが、まずはクローンを使わずに敵の攻撃をプログラミングしてみましょう。
かみなりのスプライトをタップして、プログラミングしていきます。
手順1
みため:かくす
ゲーム開始時はかみなりを表示させないようにするブロック
手順2
うごき:Ghostへいく
表示される際の位置(発射位置)をゴーストに設定する
手順3
みためひょうじする
画面にかみなりを表示させる(これだけでは動かない)
手順4
しらべる:はしにふれたせいぎょ:〜までくりかえす
手順5のy座標をかえるブロックを中に入れることで端に触れるまで下に落ちてくるようにする
手順5
うごき:yざひょうを-10ずつかえる
数字をかえることで動きの速さをコントロールできます
手順6
みため:かくす
はしに触れたら表示を消します
手順7
せいぎょ:ずっと1びょうまつ
最後にこの2つのブロックで囲うことで、1秒ごとにカミナリが発射されるようになります
ここまでできたら、一度緑の旗をクリックして、実行してみましょう。カミナリは発射されましたか?

しかし、これではカミナリの数は一つだけなので、ゲームとしては簡単になってしまいます。

難易度をあげようと、どんどん発射されるようにしようとしても、2つ、3つのカミナリが飛んでくるようにはなりません。
 

クローンを使いこなす

このように「同じスプライトをたくさん表示・使用したいとき」に使う便利なブロックが「クローン」です。

使い始めると本当に便利なブロックで、色々なゲームを作る上で非常に重要なので、ぜひ習得してください(^ ^)

このクローンには以下3種類のブロックがあります。
今回であれば、じぶんじしんのクローンをつくるで一定時間ごとにカミナリのクローンを作ります。

そしてクローンされたときの下に命令ブロックを組んでいくことで、複数のカミナリを同時に登場させることができます!

そのためには、以下のようにプログラムを組んでみましょう。

カミナリの発射ペースを決める

上のブロックの固まりで、カミナリの発射ペースを決めています。ここでは、2秒ごとにカミナリが発射されるようにプログラミングします。

手順1
イベント:緑の旗がおされたとき
ゲームスタート時の合図
手順2
みため:かくす
オリジナルは常に隠れているように設定
手順3
せいぎょ:ずっと
ゲーム終了まで攻撃が続くようにします
手順4
せいぎょ:2びょうまつ
難しさを決めるポイント。ここでは2秒ごとに設定
手順5
せいぎょ:じぶんじしんのクローンをつくる
カミナリのクローンを作る命令

この一連の命令で、カミナリがずっと2秒間隔で作られ続けるようになりました。

ただこのままではカミナリが発射されて攻撃にはならないので、カミナリに動きをつけていきます。

カミナリ(クローン)に動きをつける

画像下のブロックの固まりが、クローンが作られたあとの動作です。

ゴーストからカミナリが発射され、画面下に動きをつけるブロックは先にご説明した通りですね。

ここでのポイントは、かくすこのクローンをさくじょするの2つの命令です。

MEMO
一番下にこのクローンをさくじょするを置くだけではクローンが表示されたままで消えてくれません。。
したがって、削除の前にかくすを追加することがポイントです。

これで、画面のようにカミナリが複数発射できるようになりました。

Scratch基本④ 操作ボタンを作ってスプライトを動かそう

これで敵が左右に動き、攻撃を仕掛けてくる、というプログラミングが完成しました。続いてプレイヤーを動かすためのプログラミングをしていきましょう。

MEMO
  • タブレット端末に対応したScratch3.0ではありますが、実はキーボード入力には対応していません
  • キーボードの代わりとなるコントロールキーを画面上に設け、そこをタップして動かすようにプログラミングすることが必要となります。
 

コントローラー(操作ボタン)を作る

まずはコントロールキーとなるスプライトを用意します。

今回は、横移動とロケット発射、バリアー展開、の4つの動作をさせたいので、4つスプライトを用意しましょう。(あとで分かりやすいように名前もつけておくと良いです。)

ひだりへ動かすキーをつくる

Scratchには、「他のスプライトがタッチされたら〜」というイベントブロックはありません。

そこで、他のスプライトがタッチされた際に合図を送り、その合図に反応して動くようにプログラミングをしていきます。

その際に使用する便利なブロックが、イベント:「メッセージ」関連のブロックです。

メッセージブロックの使い方
  • メッセージ1 ▼をうけとったときのドロップダウンリストを開く
  • あたらしいメッセージをタップして、「ひだり」などわかりやすい名前をつける
  • コントロールキーとなるスプライトにメッセージをおくるを使う
  • 動かしたいスプライトにメッセージをうけとったときを使う

今回の「ひだりキー」を例とすると、以下のようになります。ひだりキーのスプライトのプログラミング画面にして設定します。

手順1
イベント:このスプライトがおされたとき
タブレットのタップもこのブロックを使用します
手順2
せいぎょ:〜までくりかえす
繰り返しの命令をしないと、連打しなくてはならず、大変です
手順3
しらべる:マウスがおされたえんざん:〜ではない
長押しタップが終わるまでメッセージを送り続けることができるように
手順4
イベント:メッセージをおくる
タップされた時のメッセージをえらぶ
手順5
せいぎょ:0.1びょうまつ
プレイヤーの動く速さに影響します。

そして受け取り側のスプライトに以下のように設定をします。

これで、画面上でひだりキーをタップすると、プレイヤーが左に動くプログラムが組めます。

このようにして、他のコントロールキーなどにも同様のプログラミングをしましょう。


Scratch基本⑤ アニメーション設定をしよう:「コスチューム」をつかいこなす

ここまでで組み立てて来たプログラムを実行すると、お互いの攻撃が相手をすり抜けるだけになってしまっています。バリアーも効きません。

そこで、お互いの攻撃が相手に当たった時のプログラミングをここでは行いましょう。

こうげきが当たったら、こうげきを消す

相手に当たってもすり抜けているとリアリティがありません。

そこで、まずは相手・自分に攻撃があたったとき、それらが消えるようプログラミングしたいと思います。

例えばカミナリのプラグラムを以下のように書き換えましょう。

こうげきが当たった時のプログラム
  • はしにふれた までくりかえすとしていた部分に、えんざん:◇または◇を2つ使います。
  • ◇の部分にしらべる:はしにふれたしらべる:Pico(プレイヤー)にふれたしらべる:Rainbow
    (バリヤー)にふれた、の3つをいれる

これによって、カミナリがプレイヤーまたはバリアーに触れても消えるようになりました。

これと同様の手順で、ロケットについてもゴーストに当たったら消えるよう設定します。

こうげきが当たったら、アニメーションさせる

さらに、こうげきが当たって無反応なのも面白くないので、スプライトに変化をつけましょう。

MEMO
  • Scratchで用意されているスプライトには、コスチュームという欄に異なるイラストが用意されています。
  • これを使って攻撃が当たったら一瞬コスチュームを変えて、アニメーションを設定できます。

手順1
イベント:緑の旗がおされたとき
スタートの合図
手順2
みため:コスチュームをpico-aにする
ゲーム開始時に通常時のコスチュームに戻すようにしておきます
手順3
せいぎょ:ずっと
このあとの命令をゲーム終了まで続けます
手順4
せいぎょ:もし〜なら
〜の部分にしらべる:lightningにふれたらを入れて、こうげきにあたった時の条件分岐を作ります
手順5
みため:コスチュームをpico-dにする
こうげきがあった時のコスチュームを選びます
手順6
せいぎょ:0.5びょうまつ
当たった時のコスチュームになる時間を決めます
手順7
みため:コスチュームをpico-aにする
ここで通常時に戻します

これでカミナリにふれたなら、コスチュームを一瞬変化させるプログラムになりました。

ゴーストにも同じようにやられた際のコスチュームがありますので、そちらも是非設定してみてください。

なお、自作のスプライトや、思ったようなイラストがなければ、色をすこし変えるということも可能ですので、そちらも試してはいかがでしょうか?


Scratch基本⑥ ダメージ判定を設定しよう:「変数」をつかいこなす

いよいよシューティングゲームも大詰めとなりました。

最後に、プレイヤー・敵のライフ設定をし、ゲーム終了までのプログラミングをしましょう。

MEMO
ここに文章
こうした時は、ブロックカテゴリーの下の方にある「へんすう」というブロックを使っていきます。
今回のゲームではプレイヤーと敵2つのライフ設定をしたいので、へんすうをつくるをタップし、「ゴースト」と「プレイヤー」という変数を作成します。

変数を作成するとドロップダウンリストから作成した変数を選ぶことができるようになります。

そこで、以下のようにゴーストのプログラミングを書き換えましょう。

 

ここまでで作ってきたプログラムに以下3点を追加しています。

①ライフの設定
  • 緑の旗を押したらの下に、へんすう:へんすうを(0)にするをおく
  • へんすう1をタップし、ドロップダウンリストから作成した「ゴースト」を選ぶ
  • (0)の中に好きなライフを設定(ここでは5に設定)
    ②ダメージ判定
    • イベント:もしRockeshipにふれたらの中に、へんすう:へんすうを(0)ずつかえるをおく
    • へんすうをタップし、ドロップダウンリストから作成した「ゴースト」を選ぶ
    • (0)の中に与えるダメージ(ここでは-1)を設定
    ③ライフ0時のゲーム終了プログラム
    • イベント:もしRockeshipにふれたらの下に、イベント:もし◇ならをおく
    • ◇の中に、えんざん:◯=(50) を入れ、左の◯にへんすう:ゴーストを入れる
    • 右の◯には、0を打ち込む
    • みため:コスチュームをghost-cにするを置き、ライフ0になった時の姿を設定する
    • みため:(こんにちは)と(2)びょういうを置き、まいった!などのことばを左に入れる。
    • 最後にイベント:すべてをとめるを使うと全てのスプライトの動きが止まる
    これと同じようにプレイヤー側にもライフ設定をして、ついにシューティングゲームの完成です!!

    いかがでしたか?
    非常に単純なシューティングゲームですが、Scratchの基本的なプログラミング方法が凝縮されていて、一度作れれば他のゲームも作ろう!と意欲が湧いてきます。

    既製品のゲームには程遠いですが、小さなお子さんはゲーム作成の過程のいろんなことに楽しみを覚え、そして自分で作れるんだ!ということに達成感を覚えるようです。

    プログラミング初めてという方も、Scratchなら本当に簡単に楽しめますので、ぜひこの週末は一緒にプログラミングデビューしてはいかがでしょうか?

     

    ちょっと難しい!と感じた方プログラミング教室に通うのもありだと思いますので、一度無料体験に行ってみるのもいいですね^_^

    ▼パソコン操作から安心の教室

    ▼ロボットプログラミングなら

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です