知識ゼロから始めるスクラッチゲーム開発04              -敵キャラの追加編-

こんにちは、くま(@kuma_gameblog)です。

今回はゲームに登場する敵キャラを実装して、この敵キャラに触れるとゲームオーバーになるというルールを追加していきたいと思います。

前回の記事はこちら↓

前回までのプロジェクトを利用して、ゲームルールを追加していきます!

前回までの記事はこちらからご覧になれます。

ゼロから始めるScratch入門
「ゼロから始めるScratch入門」の記事一覧です。

今回は、ゲームに「敵キャラ」を追加してネコが敵キャラに触れてしまうとゲームオーバーと言ってゲームが終了してしまうようにルールを追加していきます。

この時ネコは敵キャラを「ジャンプ」で避けることでゴールを目指すようなルールにしたいと思います。

今日のゴールはこの状態を目指します!

はじめに

まずは前回のプロジェクトを読み込んでから始めます。

先ず始めに、前回まで作ってみて気づいたかもしれませんが、毎回🚩をクリックしてゲームを開始して、ゲームを終了すると、ネコの位置が終了する直前の位置になってしまっていたと思います。

実行する度に毎回ネコの位置を元の左端にクリックで移動させていたと思います。

そこで、この手間をなくすために、動き欄の「x座標を(数字)、y座標を(数字)にする」というブロックを「🚩が押されたとき」のブロックのすぐ下に配置するようにします。

この時、xの座標を「-190」yの座標を「-130」に設定しておきます。

ネコがジャンプできるようにしよう

今のままだと敵キャラを追加しても敵を避ける手段がなく、必ずぶつかってゲームオーバーになってしまいます。

そこで敵キャラを避けるために、ネコがジャンプできるようにしていきたいと思います。

制御欄の「もし<>なら」ブロックを追加します。

<>の条件に調べる欄の「スペースキーが押された」ブロックを追加します。

今回はスペースでジャンプという操作にするので、そのままスペースの設定で問題ありません。

ジャンプの実装方法はいくつかあるのですが、今回は一番シンプルで簡単であろう方法で実装してみます。

このブロックの中に制御欄の「10回繰り返す」のブロックを入れます。

その中に動き欄の「y座標を10ずつ変える」のブロックをいれます。 

中の数字はいったんいじらなくても大丈夫です。遊んでみて好みで変更することで、ゲームの難易度を調整できると思います。

その下に、制御欄の「1秒待つ」のブロックを入れます。

その下に先ほどと反対に地面に着地するように「10回繰り返す」のブロックを入れて、その中に動き欄の「y座標を10ずつ変える」のブロックをいれます。

この時、10の数字を-10に変更します。

これで元の位置に戻るようになります。 

実際に実行してみると、このような動きになります。

他にもジャンプの実装方法はいろいろありますので、気になった方はぜひこちらのサイトで調べてみてください。

ジャンプする
スプライトをジャンプさせる方法はいくつか存在するが、やり方によってどのようなジャンプになるかが異なる。ここでは、単純に上下に動くだけのものから、重力を考え本当のジャンプのように見せるものまで、いくつかの方法を紹介していく。

次に敵キャラの実装を行っていきます。

敵キャラを追加してみよう

まず始めに、右下の「スプライトを選ぶ」をクリックします。

今回は動物のカテゴリーにある「Beetle」敵キャラとして使用したいと思います。

次にこのこのBeetleの大きさを調整します。

大きすぎるとネコと当たりやすくなってしまいゲームが難しくなってしまうので、調整したいと思います。スプライトでBeetleを選択した状態で大きさを「70」に変更したいと思います。

また、最初の向きも反対にしたいので向きを「-90」としておきます。

次にこのBeetleにスクリプトを組んでいきます。

まず初期位置を固定するために、イベント欄の「🚩が押されたとき」のブロックと動き欄の 「x座標を(数字)、y座標を(数字)にする」 のブロックを組み合わせます。

この時、数字はx座標を「140」、y座標を「-150」としておきます。

次に制御欄の「ずっと」のブロックを下に入れて、その中に動き欄の「10歩動かす」と「もし端に着いたら、跳ね返る」というブロックを入れます。

この時、10歩動かすの10を「5」に変更しておきます。

これだけで、Beetleが壁に当たると反対を向いてずっと進むようになりました!

次にネコが虫と当たるとゲームオーバーになるようにスクリプトを組んでいきます。

右下のスプライトから「スプライト1」を選択してください。

せっかくなのでこのスプライトの名前を「プレイヤー」としておきます。

もうおなじみの制御欄から「もし<>なら」のブロックを一番下に入れて<>の中に調べる欄の「マウスのポインタ―に触れた」のブロックを入れてマウスのポインタ―を「Beetle」に変更します。

その次に、見た目欄の「こんにちは!と2秒言う」のブロックを入れてこんにちは!を「やられたー!」に、2秒を「3秒」に設定します。

最後に、制御欄の「すべてを止める」ブロックを入れて、完成となります。

今回はここまでになります。

これで「ネコがBeetleに触れないようにりんごを獲得する」ゲームになりました!!!

ここまでいかがでしたでしょうか?

これらを他のプログラムツールでプログラムを書いて作ろうと思うと、かなりの時間がかかると思います。また、画像などもScratchのように最初から用意してくれているわけではないので、全部一から用意しなければなりません。

これらの手間を省いて簡単にゲーム制作が体験できるのがScratchの魅力です!

次回はこのシリーズ最終回として、ゲームを彩る「背景」「音」「アニメーション」を実装してみようと思います。

最後までぜひご覧ください!

続きはこちらから↓

ここまで読んでいただきありがとうございます!もしこの記事が参考になったらSNSなどで紹介いただけると嬉しいです!

コメント

タイトルとURLをコピーしました