サンプルゲーム・サンプルプロジェクト・ゲームの作り方・チュートリアル

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

Unityサンプルゲームの「爆弾を避けよ!」の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~で効果音を鳴らしていきましょう。

Unityサンプルゲームの「爆弾を避けよ!」の11
【Unity2Dチュートリアル】爆弾を避けよ!~11~Unity2Dサンプルゲーム『爆弾を避けよ!』を作っていきます。この記事ではプレイヤーが破壊されたときに、音源を再生させていきます。「わぁぁぁ」って音源を再生します。...
ABOUT ME
さぎのみや
さぎのみや
超書手。現在はUnityメディア「ユニシャー」の運営とゲーム開発がメインです。Unity、ライティング関係のお仕事お待ちしております。 >>詳しいプロフィール >>Amazonほしいものリスト
【Unity3D】新しいサンプルゲーム(チュートリアル)を作りました!!!
Unity有料サンプルゲーム

「Unityで3Dゲームを本格的に作っていきたい!」という人におすすめのチュートリアルとなっています。

画像のようなゲームの作り方を販売しています。色々と応用できるチュートリアルとなっています。ぜひ、作ってみてください。

詳細
>>【Unity3Dサンプルゲーム・チュートリアル】「フリスビーを犬に届けよ!」の概要

>>noteでこのチュートリアルを見る

【RT・フォローであなたのスキルが上がる】

シェアフォローする

さぎのみやのモチベが上がる

コンテンツの質が上がる

あなたの能力も上がる

あなたの
Twitterでのシェア

であなたの能力が上がります。

>>さぎのみやのツイッター(@saginomiya8)

 

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


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