これまで学習した内容を、いちど思い出してみよう
みなさん、こんにちは!
実はインスタントコーヒーより、ドリップコーヒーを淹れた方が美味しくかつ安くつくことを知っているあらたまです。
さて今日は「君がゲームを作る!Unityゲーム開発入門」の第37回目です。
おさらい
前回 は忍者がステージから落ちたら、スタート時点に戻すようにしましたね。
今日からはステージのゴールを作っていきたいと思います。まずはゴールアイテムの作成をしてみましょう。
ゴールを作る手順
今回ゴールを作る手順は次の通りです。
- ゴール用のアイテムを作成する
- ゴールしたら表示されるテキストを作成する
- ゴールしたときの忍者のアニメーションを作成する
3つともいままで学習した内容の復習がほとんどです。
それぞれに学習した回のリンクも書いておきますので、 忘れちゃったな、というときはその回を振り返ってみてくださいね。
それでは、初めていきましょう!
ゴール用のアイテムを作成する
まずはゴールとするアイテム(ゲームオブジェクト)を作成していきましょう。
今回はクナイを取ったらステージクリアにすることにします。
これは 第19回 迷路のゴールを作ろう!(前編) でやった内容の復習になります。
スプライトからゲームオブジェクトの作成
プロジェクトウィンドウの「Sprites」をフォルダを開いて、「Kunai」をシーンウィンドウにドラッグ&ドロップします。
これだけで自動でゲームオブジェクトが作成される(ヒエラルキーウィンドウにKunaiというゲームオブジェクトが誕生する)のでしたね。
このままでは少し大きいので、インスペクターウィンドウの「Scale」のXとYを「0.5」に変更して小さくします。
クナイの見た目が小さくなりました。
このままだとあんまりクナイっぽくない気もするので、少し傾けてみましょう。
インスペクターウィンドウの「Rotation」のZを「-45」に変更します。
45度、傾いて表示されるようになりました。
クナイを取ったらクナイが消えるようにする
忍者が触れたらクナイが消えるようにして、クナイを取ったような演出をします。
これは 第20回 迷路のゴールを作ろう!(後編) でやった内容の応用になります。
コンポーネントを追加する
まずは忍者とクナイが接触したことを検出するために、クナイのゲームオブジェクトにコンポーネントを追加します。
「Add Component」から「Physics 2D」をクリックします。
「Box Cllider 2D」コンポーネントが追加されました。
追加された「Box Cllider 2D」の「Is Trigger」にチェックを入れます。
プログラミングをする
続いて、忍者とクナイが触れた時の処理をプログラミングします。
プロジェクトウィンドウで「Scripts」フォルダを選択し、 「CharaControl」ァイルを選択後インスペクターウィンドウで「Open」をクリックします。
下記のように太字の部分を追加してください。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class CharaControl : MonoBehaviour
{
// ... 省略 ...
// トリガー設定されたゲームオブジェクトに触れたとき
private void OnTriggerEnter2D(Collider2D other)
{
if (other.gameObject.name == "Kunai")
{
// クナイを非表示にする
other.gameObject.SetActive(false);
}
}
}
「OnTriggerEnter2D」メソッドはトリガー設定されたゲームオブジェクトに触れた時に呼び出されます。 さきほどクナイの「Is Trigger」にチェックを入れましたよね。
引数には、触れたトリガーのゲームオブジェクト、今回の場合はクナイのゲームオブジェクトが渡されます。
トリガーの名前が「Kunai」であった場合に、そのゲームオブジェクトを非表示にしています。
テストプレイで動作確認をする
それでは、テストプレイをして変化を確認してみましょう!
これで、忍者がクナイを取ったように見えますねっ
今回はここまでです!
次回も引き続き、ステージのゴール地点を作っていきたいと思います。
次回へ続く。