按下按钮时如何进行GUI弹出?

时间:2016-08-18 19:26:12

标签: c# unity3d unity5

我想知道每当我点击按钮时如何使用onClick()或类似方法制作GUI弹出窗口?这是我目前的代码。我正在尝试将代码实现到我的商店脚本中。玩家按下的按钮是一个表示商店的按钮。当玩家按下名为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!");
        }
    }
}

1 个答案:

答案 0 :(得分:0)

Button组件可用于执行此操作。使用Button注册Button.onClick.AddListener(()=>functionToCall()...)活动。

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();
    }
}

请记住,您必须从编辑器创建Button并将其分配给脚本中的StoreButton插槽。您还应该在点击Button广告位shopToShow时显示用户界面。

Unity UI tutorial为你..