【Unity2Dチュートリアル】爆弾を避けよ!~10~

前回の【Unity2Dサンプルゲーム】爆弾を避けよ!~9~の続きです。

【Player】が破壊されたときだけ、【RetryButton】を表示するようにします。

目次

前提条件

ゲームのおわり

ゲームを実行しても常にRetryButtonが表示されている状態です。

この記事の「爆弾を避けよ!」の作成の流れ

  • どうやって【Player】が破壊されたときに表示させるか
  • 【PlayerController】スクリプトに記述していく
  • ゲームを実行してみる

どうやって【Player】が破壊されたときに表示させるか

【Player】が破壊されたときに、【RetryButton】を表示させることで可能です。

【Player存在】    →  【Player破壊】
【RetryButton非表示】→  【RetryButton表示】 

です。

では表示、非表示はどのようにすればできるのかってはなしになりんす。

少し実験

オブジェクトをアクティブ、非アクティブにする

【RetryButton選択】→【Inspector】→【RetryButtonと書いてあるとこの横】【チェックをはずしたりつけたり】→【Gameビューをみる】→【RetryButtonが表示されたり非表示されたりするのを確認】→【チェックしたままにしとく】

チェックしている状態をアクティブ状態といい、チェックをはずした状態を非アクティブ状態といいます。まあ、オブジェクトを表示したり非表示したりできるってことです。

このチェックをつけたりはずしたりする作業をスクリプトで行っていきます。

【PlayerController】スクリプトに記述していく

【PlayerController】スクリプトを開いて、記述してください。Projectウィンドウで【PlayerController】スクリプトをダブルクリックすることで開くことができます。

PlayerController.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerController : MonoBehaviour {

    GameObject retryButton;

    // Use this for initialization
    void Start () {
        this.retryButton = GameObject.Find("RetryButton");
        retryButton.SetActive(false);
    }
   
    // Update is called once per frame
    void Update () {
       
    }

    // 右矢印ボタンを押したら移動するメソッド
    public void RightArrowDown()
    {
        transform.Translate(2, 0, 0);
    }

    // 左矢印ボタンを押したら移動するメソッド
    public void LeftArrowDown()
    {
        transform.Translate(-2, 0, 0);
    }

    // ぶつかった瞬間にオブジェクトを破壊
    void OnTriggerEnter2D(Collider2D collision)
    {
        retryButton.SetActive(true);
        Destroy(gameObject);
    }

}

Start(){A} ゲーム開始時にA処理を行う
Find(A) シーンの中からAと同じ名前のゲームオブジェクト1つ探して返す
A.SetActive(false);  Aを非アクティブ状態(非表示する)
A.SetActive(true); Aをアクティブ状態(表示する)

 

    void Start () {
        this.retryButton = GameObject.Find("RetryButton");
        retryButton.SetActive(false);
    }

シーン中から【RetryButton】を探してそれを【retryButton】変数に格納してます。【retryButton】変数に入っているオブジェクト、つまり【RetyButton】を非アクティブ(非表示)にしてます。

さらにStartメソッド内に書かれているので、ゲーム開始時に上の処理を行います。

 

    // ぶつかった瞬間にオブジェクトを破壊
    void OnTriggerEnter2D(Collider2D collision)
    {
        retryButton.SetActive(true);
        Destroy(gameObject);
    }

ぶつかったときに【retryButton】変数に入っているオブジェクト、【RetryButton】をアクティブ(表示)するようにしてます。

ゲームを実行してみる

Unityでゲームを実行する

(避けようと思ったのに、一回で破壊されたんだが…( ・∇・))

ゲーム開始時に【RetryButton】は非アクティブ(非表示)になりますが、【Player】が破壊されたときにアクティブ(表示)されるようになってます。

おわりに

ゲームの終了画面

あんまり【GameUi】つかわなくてごめん。ほんとはもっと使いたかったんですけどね。他のサンプルゲームでUIスクリプトの説明は詳しく説明します。

次の【Unity2Dサンプルゲーム】爆弾を避けよ!~11~で効果音を鳴らしていきましょう。

あわせて読みたい
【Unity2Dチュートリアル】爆弾を避けよ!~11~
【Unity2Dチュートリアル】爆弾を避けよ!~11~前回の【Unity2Dサンプルゲーム】爆弾を避けよ!~10~の続きです。効果音を鳴らしていきます。【前提条件】こんな感じです。この記事の「爆弾を避けよ!」の作成の...
Unityサンプルゲームの「爆弾を避けよ!」の10

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次
閉じる