
以前のScratchに関する記事はこちらです。
- Scratch(スクラッチ)で簡単なゲームを作ってみました | novalue – 自分らしさで彩るメディア
https://no-value.jp/programming/11320/ - Scratch(スクラッチ)で簡単なゲームを作ってみました その2 | novalue – 自分らしさで彩るメディア
https://no-value.jp/programming/12669/
Scratchを触っていてキャラクターをスムーズに操作出来ないかと試行錯誤していたところ、上手くいきそうでしたのでゲームに落とし込んでみました。
まずはプレイ動画をご覧ください。
それではゲームの説明をしたいと思います。
gキーでゲームスタートです。aキー、dキーでネコを左右に動かし、スペースキーでジャンプします。ハリネズミが向かってきますので、ネコをジャンプさせてよけてください。上手くよけられたら+10点です。ハリネズミにぶつかってしまうと-10点になります。
また、空中にコインが出現しますのでジャンプしてキャッチしてください。キャッチ出来たら+10点です。
ゲームは4ステージありますので、ゲームの終わりまでに300点より多ければゲームクリアです。
ではゲームのプログラム(スクリプト)を細かく見ていきましょう。
ネコのスクリプトはこのようになっています。
gキーが押されたとき、ネコをx座標 -140、y座標 -108の初期位置に表示します。また、dキーを押している間は画面右・ネコの進行方向に移動します。aキーを押している間は画面左・ネコの後方に移動します。
スペースキーを押した場合はネコがジャンプし、0.2秒後に着地します。そして、ハリネズミを飛び越えたかどうかの判定をするため、ネコの現在位置をx、yそれぞれの座標で取得し変数に納めます。
また、ハリネズミやコインに触れた際の処理もこちらで行います。
gキーが押されたとき、ハリネズミのスクリプトに「hedgehog」というメッセージを送り、動作を開始させます。 もしハリネズミに触れた場合はダメージの効果音を流し、10点引きます。ダメージ表現としてネコを3回点滅させるようにしました。
もしコインに触れた場合は、コインのスクリプトに「money」というメッセージを送り、コインを消します。それから、コインを拾った効果音を流し、10点加えます。
そして、ネコがハリネズミを飛び越えた場合の処理です。まずはgキーを押した際に点数をリセットします。それから、ネコとハリネズミの座標をそれぞれ取得して相対位置を計算し、ネコがハリネズミの上斜め後方を通り過ぎたら10点加算するようにしました。
ハリネズミのスクリプトはこのようになっています。

gキーが押された際、ネコのスクリプトから「hedgehog」というメッセージを受け取りますので、それが動作開始の合図になります。ハリネズミはネコに向かって進んでいき、画面端まで行ったら表示を消します。その後、1~4までのランダムな秒数を待ったあと、また「hedgehog」のメッセージを送ります。これを繰り返すことでランダムな間隔でハリネズミがやってくることになります。
また、ネコがハリネズミを飛び越えた場合の処理のため、ハリネズミの現在位置をx、yそれぞれの座標で取得し変数に納めます。
コインのスクリプトはこのようになっています。

gキーが押されてから2~4のランダムな秒数を待って、ネコがジャンプして届く高さにランダムで出現します。そして、そのまま拾われない場合は5秒後に消えます。もしネコがコインに触れた場合は、ネコのスクリプトから「money」というメッセージを受け取り、表示を消します。
最期に背景のスクリプトです。

gキーが押されたら、最初のステージの背景とBGMを流すようにします。BGMは各ステージとも30秒ほど流れるようにしました。ステージは4つ用意しましたので、BGMが流れ終わると切り替わるようにしてあります。音量が少し大きいようでしたので、それぞれ微調整しました。
また、点数が300点よりも大きければWinの音を、少なければLoseの音を流すようにしました。
スクリプトに関する説明は以上になります。最後までお読みいただきありがとうございました。
次はこれまで作ったゲームのノウハウを生かした作品を作ってみたいと思います。
完成したゲームはこちらです。https://www.dropbox.com/s/gvyy9vbc8dzi08r/jumping%20cat.sb3?dl=0
Dropboxにはログインしなくてもダウンロード可能です。
一旦パソコンにダウンロードして任意の場所に保存し、Scratch(スクラッチ)のホームページの「作る」から「ファイル」→「コンピュータから読み込む」でダウンロードしたファイルを選択します。
gキーを押すとゲームが始まります。チュートリアルは×印で閉じてしまって大丈夫です。