Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当我按下按钮时,如何使GUI弹出?_C#_Unity3d_Unity5 - Fatal编程技术网

C# 当我按下按钮时,如何使GUI弹出?

C# 当我按下按钮时,如何使GUI弹出?,c#,unity3d,unity5,C#,Unity3d,Unity5,我想知道,每当我点击一个按钮时,如何使用onClick()或类似工具来创建GUI弹出窗口?这是我目前的代码。我正在尝试将代码实现到我的商店脚本中。玩家将按下的按钮是一个显示store的按钮。当玩家按下名为Store的按钮时,脚本将显示实际的商店。商店不是一个单独的场景。在一个场景中 using UnityEngine; using System.Collections; public class Shop : MonoBehaviour { public int Money

我想知道,每当我点击一个按钮时,如何使用onClick()或类似工具来创建GUI弹出窗口?这是我目前的代码。我正在尝试将代码实现到我的商店脚本中。玩家将按下的按钮是一个显示store的按钮。当玩家按下名为Store的按钮时,脚本将显示实际的商店。商店不是一个单独的场景。在一个场景中

    using UnityEngine;
using System.Collections;

public class Shop : MonoBehaviour 
{

    public int Money;
    public int Trap = 0;
    public int Weed = 0;

    public GameObject ShopLocation;

    void Start () 
    {

        Money = 100;
        ShopLocation.gameObject.SetActive(false);
    }

    public void Clicked()
    {

    }

    void OnTriggerExit()
    {
        ShopLocation.gameObject.SetActive(false);
    }

    public void trap() 
    {
        if (Money >= 20) {
            Money -= 20;
            Trap += 15;
        } else 
        {
            print ("Not enough money for trap!");
        }


    }

    public void weed()
    {
        if (Money >= 15) {  
            Money -= 15;
            Weed += 10; 
        } else 
        {
            print ("Not enough money for Weed!");
        }
    }
}
该组件可用于执行此操作。使用
按钮.onClick.AddListener(()=>functionToCall()…)
注册到
按钮
事件

请记住,您必须从编辑器中创建一个
按钮
,并将其分配给脚本中的
StoreButton
插槽。您还应该将单击
按钮
时要显示的UI放入
ShoptShow
窗口

Unity UI供您使用。

该组件可用于执行此操作。使用
按钮.onClick.AddListener(()=>functionToCall()…)
注册到
按钮
事件

请记住,您必须从编辑器中创建一个
按钮
,并将其分配给脚本中的
StoreButton
插槽。您还应该将单击
按钮
时要显示的UI放入
ShoptShow
窗口


Unity UI为您准备。

@MethodMan“在谷歌上搜索如何动态创建表单实例以及如何显示表单”这是Unity。他说的是Unity用户界面。@MethodMan“在谷歌上搜索如何动态创建表单实例以及如何显示表单”,这就是Unity。他说的是Unity用户界面。我把它添加到我的脚本中。我无法将按钮添加到脚本中。这是我当前的代码。您不能将按钮添加到脚本是什么意思?将
Shop
脚本附加到场景中的游戏对象。进入GameObject->UI->Button,创建一个UI
按钮。现在,将新创建的按钮拖动到附加到游戏对象的脚本中…我忘记添加游戏对象,这就是原因。我将其添加到脚本中。我无法将按钮添加到脚本中。这是我当前的代码。您不能将按钮添加到脚本是什么意思?将
Shop
脚本附加到场景中的游戏对象。进入GameObject->UI->Button,创建一个UI
按钮。现在,将新创建的按钮拖动到附加到游戏对象的脚本中……我忘记添加游戏对象,这就是原因。
using UnityEngine.UI;

public class Shop : MonoBehaviour 
{
    public GameObject shopToShow;

    public Button StoreButton;

    void OnEnable()
    {
        //Register Button Events
        StoreButton.onClick.AddListener(() => storeButtonCallBack());

    }

    private void storeButtonCallBack()
    {
        Debug.Log("Shop Button Clicked!");
        shopToShow.SetActive(true);
    }

    void OnDisable()
    {
        //Un-Register Button Events
        StoreButton.onClick.RemoveAllListeners();
    }
}