Scratch(スクラッチ)でキャッチャーゲームを作ろう〜リミックスですぐわかる!

伊東 けいこ

今回はScratch(スクラッチ)で「キャッチャーゲーム」を作ります。ゲームで使うスプライトは、ネコのキャラクターと落ちてくるキャンディーの2つです。動きを確認しやすくするために、スプライト毎に見本プロジェクトを用意しました。2つの見本を確認してから、それらを組み合わせて作ったゲームをご紹介します。見本をリミックスすると簡単にアレンジができますので、ぜひ挑戦してみてください。

見本をまとめたスタジオ:キャッチャーゲームを作ろう

Scratch(スクラッチ)でキャッチャーゲームを作ろう!

目次

【1】走る&ジャンプするネコの見本

ネコのキャラクターの見本です。キーの操作で「走る&ジャンプ」させることができます。

「走りながらジャンプするネコ」のScratchプロジェクトを開く

「走る&ジャンプ」はゲームなどでおなじみの動きですね。以前に「ビヨーンとジャンプするネコ」をご紹介しましたが、重力を考慮した飛び方に注目するために、シンプルに、まっすぐ上にジャンプするものでした。今回は走りながらジャンプし、その後も止まらず走り続けられるスプライトを作りました。

走りながらジャンプするネコ
「走りながらジャンプするネコ」のコード部分

走りながらジャンプする(ジャンプが終わっても走るボタンを押し続けている限り走り続ける)には、少し工夫が必要です。コードブロックが長いので分解して見てみましょう。

[どれかのキーが押されたとき]ブロックに続けて[ずっと]ブロックをつなげます。その中に以下の3つの動きのブロックを置いています。

- 右向き矢印キーが押されている時の動き(右に走る)
- 左向き矢印キーが押されている時の動き(左に走る)
- スペースキーが押されている時の動き(ジャンプする)

[ずっと]ブロック内にこれらを置くことによって、走る動きとジャンプする動きを途切れさせることなく実行できます。

走る、ジャンプする動きのコード
走る、ジャンプする動きがスムーズに途切れず実行できる

詳しくは、実際のプログラムの中を見る、もしくはリミックスしてアレンジしてみてください。

【2】落ちてくるキャンディーの見本

ゲームでキャッチするキャンディーの見本です。ゲームが始まるといろいろな場所から落ちてきます。

「いろいろな場所から落ちてくるキャンディー」のScratchプロジェクトを開く

取ると得点になるアイテムや、触ると減点になる敵アイテムなど、「不特定のタイミングで現れるアイテム」もよく使われます。ここでは「クローン」と「乱数」を使って、色々なところからキャンディーが落ちてくるスプライトを作りました。

クローンについての参考記事)「クローン」を 使って遊ぼう:ぴよぴよパニック?

いろいろな場所から落ちてくるキャンディー
「いろいろな場所から落ちてくるキャンディー」のコード部分
「いろいろな場所から落ちてくるキャンディー」のコスチューム
「いろいろな場所から落ちてくるキャンディー」のコスチューム:2種類のコスチュームを用意

クローンすることで、1つのスプライトを何度も同時に出現させることができます。ここではキャンディーのスプライトがクローンされているのですが、2種類のコスチュームのどちらかが表示されるようにし、さらに色の変化をつけることで、いろいろなキャンディーがあるように見せています。そしてクローンされた時の位置を乱数で指定することによって、色々な場所から落ちてくるように見せています。

クローンを生成するコード
ランダムな時間ごとにクローンを生成するコードブロック
作成されたクローンのコードブロック
作成されたクローンのコードブロック

詳しくは、実際のプログラムの中を見る、もしくはリミックスしてアレンジしてみてください。

【3】応用:キャッチャーゲーム

2つの見本プロジェクトを組み合わせると、キャッチャーゲームを作ることができます。

「落ちてくるキャンディーをひろえ!」のScratchプロジェクトを開く

「走りながらジャンプするネコ」「いろいろなところから落ちてくるキャンディー」それぞれの作り方を確認したので、ネコとキャンディーのスプライトを使ったキャッチャーゲームの中を見てみましょう。

いろいろな場所から落ちてくるキャンディーと追いかけるネコ
キャンディーキャッチャーのコード部分

ジャンプするネコのスプライトは「走りながらジャンプするネコ」と同じです。
キャンディーには、[点数]という新しい変数が追加されています。ネコに触れた時に得点が入り、キャンディーが消えるように設定します。

「点数」の変数を追加
「点数」の変数を追加して、チェックを入れるとステージ上に表示される
点数の設定を追加
キャンディーのスプライト:点数の設定が追加されている

走ってジャンプしながらキャンディーをとる、キャッチャーゲームができました。
走るキャラクターや速度、音、アイテムに触れた時のアクションなど、様々にアレンジできますので、ぜひ見本のプロジェクトをリミックスして遊んでみてください。

これらの見本をまとめたスタジオはこちらです。

Scratch スタジオ:キャッチャーゲームを作ろう!

メモ)バックパックの使い方

「バックパック」を使うと、スプライトを他の作品にコピーして使うことができます。

編集画面の下部分(ブロックパレットとコードエリアの下)に「バックパック」のタブがあります。クリックするとタブが開いて、スプライトを入れている場合はそれらが表示されます。(空の場合は「バックパックは空です」と表示されます。

バックパック
画面の下の方にバックパックのタブがある

バックパックを開いた状態で、スプライトエリアにあるスプライトのアイコンをドラッグ&ドロップすると、スプライトがバックパックに入ります。

スプライトをドラッグ&ドロップ
スプライトをドラッグ&ドロップしてバックパックに入れる
バックパックに入った
バックパックに入った

ちなみに、バックパックに入っているアイテムはコピーされたものなので、その後に元のスプライトを変更してもバックパックに入っているスプライトには影響しません。
バックパックに入れたスプライトは、削除しない限りどのプロジェクトの編集画面でも表示されます。バックパックからスプライトエリアにドラッグ&ドロップすることで複製して、使うことができます。

バックパックからドラッグ&ドロップ
バックパックからドラッグ&ドロップして使う

【5】今回のまとめ

少し複雑な作品を作りたい時は、1つ1つのスプライトの動きを分けて考えることをおすすめします。よく使う動きのスプライトを1つづつ作品にしておけば、組み合わせて作ることで様々な応用ができます。今回ご紹介している2点の見本(走ってジャンプ、ランダムに現れるアイテム)はとてもよく使われる動きですので、ぜひリミックスしたり、中を見たりしてアレンジしてみてくださいね。

Scratchの使い方や作品アイデアがたくさん! Scratchでプログラミングに挑戦!

伊東 けいこ
Web制作者&ライター。2017年よりオランダ在住。 サイト構築の傍らオランダにおける教育&テクノロジー、社会&テクノロジー周辺を追っています。 https://chari-kamo.com