【Unity】アイテムリストのアイテムを使用する方法

unity

入手した鍵を使ってドアを開けてみました。

アイテムを選択したら背景をピンクにして装備できるようにしました。

GameObject→3D⇨Plane。

色をピンクにしました。

あとはスクリプトで鍵がタップされたら出現させるようにしました。

    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {

            // シーン内のクリックを検出する
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;

            // もし何かに当たったら
            if (Physics.Raycast(ray, out hit))
            {
                // オブジェクトを取得する
                clickedGameObject = hit.collider.gameObject;
                actionHandler(clickedGameObject.name);
            }

            // アイテムボックスのクリックを検出する
            ray = GameObject.Find("itemListCamera").GetComponent<Camera>().ScreenPointToRay(Input.mousePosition);

            if (Physics.Raycast(ray, out hit))
            {
                clickedItemObject = hit.collider.gameObject;
                itemHandler(clickedItemObject.name);
            }
        }
    }

メインカメラとは別にFindでアイテム用カメラを検索します。

アイテムカメラの中の鍵が選択されたらPlaneをon(or off)にします。

    void itemHandler(string name)
    {

        switch (name)
        {
            case "itemList_Key":
                if (item == "nothing")
                {
                    key_plane.SetActive(true);
                    item = "key";
                }
                else {
                    key_plane.SetActive(false);
                    item = "nothing";
                }
                break;
        }
    }

無事、脱出することができました。

あとはストーリーを考えて深みをつけていきたいです。

参考

https://senkouemaki.com/lab/?p=144

ABOUTこの記事をかいた人

個人アプリ開発者。Python、Swift、Unityのことを発信します。月間2.5万PVブログ運営。 Twitter:@yamagablog