LoginSignup
2

More than 3 years have passed since last update.

脱出ゲームの作り方 1

Last updated at Posted at 2019-10-16

■各パネルの画像を設置

画像をダウンロード
01.png

Assetsの下にフォルダをドラッグして保存し、フォルダ名をImagesにする
02.png

UI-Panel
※Panel:Canvasの背景を設定する
Canvasフォルダの下にPanelが作成される

03.png

RoomPanel(背景)を設定

04.png

コピーして下記を作る
lightStandPanel(ライト)
drawerPanel(引き出し)
pcPanel(ノートPC)

Inspectorでそれぞれに画像を設定する
チェックを外して、表示を非アクティブにする

■ボタンを作成

RoomPanelの上記の3つの位置にボタンを作成する

CreatEmptyでGameObjectを作成し、
TriggerButtonList
とする

その下に、
UI-Image
Imageを作成し、TriggerButtonとする
ProjectにPrefabsフォルダを作成して、TriggerButtonをドラッグアンドドロップして入れ、プレファブにしておく
※Prefabプレファブ(スタンプ、設計図)
プレファブにしたいオブジェクトを、HierarchyウィンドウからProjectウィンドウにドラッグアンドドロップする

TriggerButtonを複製して3つ作成し、
LightTriggerButton
DrawerTriggerButton
PCTriggerButton
にする

ProjectでプレファブのTriggerButtonを選択し、Open Prefabボタンを押して、Add CompornentでButtonを有効にする
すべてのTriggerButtonにButtonコンポーネントがついているのを確認する

:point_up:
※プレファブにしたら、Hierarchyウィンドウで個別に設定するのではなく、Projectウィンドウで設定していく
※Projectウィンドウは開発者向けの素材を置いて扱うところ

■スクリプトを設定

ProjectにScriptsフォルダを作成し、C#スクリプトGameManagerを作成する

CreatEmptyでGameobjectを作成し、GameManagerとし、このオブジェクトにスクリプトをつける

◇各パネルを取得

:point_up:
publicな変数の宣言

プレファブにしたパネルをスクリプトで取得するためのpublic変数を宣言
GameObject型の変数(プレファブやゲームオブジェクトを入れる)
※ゲームオブジェクト:Hierarchyウィンドウにある全部

public class GameManager : MonoBehaviour
{
     // 各パネルを取得
    public GameObject lightStandPanel;
    public GameObject drawerPanel;
    public GameObject pcPanel;
}

スクリプトに変数を宣言すると、
InspecterでGameManagerオブジェクトのGameManagerスクリプトに

lightStandPanel
drawerPanel
pcPanel

が出ているので、それぞれにパネルをセットする

◇各TriggerButtonを押したら該当するパネルを表示

public class GameManager : MonoBehaviour
{
    public GameObject lightStandPanel;
    public GameObject drawerPanel;
    public GameObject pcPanel;


    // ボタンを押したら該当するパネルを表示
    public void OnClickLightStandTrigger()    //ライトトリガーを押したら
    {
        lightStandPanel.SetActive(true);      //ライトパネルをアクティブにする
    }
    public void OnClickDrawerTrigger()        //引き出しトリガーを押したら
    {
        drawerPanel.SetActive(true);          //引き出しパネルをアクティブにする
    }
    public void OnClickPCTrigger()           //PCトリガーを押したら
    {
        pcPanel.SetActive(true);             //PCパネルをアクティブにする
    }
}

Inspectorで下記のTriggerButtonのButtonコンポーネントの On Click() にGameManagerオブジェクトをセットして、
表示される関数をから実行させる関数を設定する

LightTriggerButton :arrow_lower_right: OnClickLightStandTrigger()
DrawerTriggerButton:arrow_lower_right: OnClickDrawerTrigger()
PCTriggerButton  :arrow_lower_right: OnClickPCTrigger()

教材

Unityゲームスタジオ スタジオしまづ
【Unity】初心者からの脱出!? 脱出ゲームの作り方 その1
https://youtu.be/boSqdZ87ULU

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2