您的位置:首页 > 移动开发 > Unity3D

[置顶] unity游戏UI多个弹窗采用字典每次只显示一个

2017-03-16 21:14 537 查看
public class game : MonoBehaviour {    

//三个弹窗

    private string Sphere = "Sphere";

    private string Capsule = "Capsule";

    private string Cube = "Cube";  

    private Button Btn1;

    private Button Btn2;

    private Button Btn3;

    private Dictionary<> dic = new Dictionary();

    string tanchuang = "";

    void Start ()

    {

        Find();

        AddLinsten();

    }

    void Find()

    {

        Btn1 = GameObject.Find("GameObject").transform.FindChild("dating/Image/Button1").GetComponent
();

        Btn2 = GameObject.Find("GameObject").transform.FindChild("dating/Image/Button2").GetComponent
();

        Btn3 = GameObject.Find("GameObject").transform.FindChild("dating/Image/Button3").GetComponent
();

    }

    void AddLinsten()

    {

        Btn1.onClick.AddListener(btn1Click);

        Btn2.onClick.AddListener(btn2Click);

        Btn3.onClick.AddListener(btn3Click);

    }

    GameObject GetDic(string objname)

    {

        if (tanchuang != "" && dic.ContainsKey(tanchuang))

        {

            dic[tanchuang].SetActive(false); 

        }

        GameObject creatobj; 

        if (dic.ContainsKey(objname))

        {

            creatobj = dic[objname];

        }

        else

        {

            creatobj = Instantiate(Resources.Load(objname));

            creatobj.name = objname;

            dic.Add(objname, creatobj); 

        }

        tanchuang = objname;

        creatobj.SetActive(true); 

        return creatobj;

    }

    void btn1Click()

    {

        GameObject obj = GetDic(Cube);

    }

    void btn2Click()

    {

        GameObject obj = GetDic(Capsule);

    }

    void btn3Click()

    {

        GameObject obj = GetDic(Sphere);

    }

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐