1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 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

1
2
0

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
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?