NGUI 简单控制窗口打开和关闭

既然有了博客,就要写一个。即使我很菜 大笑

using UnityEngine;
using System.Collections;

public class UI_Manager : MonoBehaviour {

    Transform UImanager;
	// Use this for initialization
	void Start () 
    {
        UImanager = GameObject.Find("UI_Manager").transform;
	}
	
	// Update is called once per frame
    /// <summary>
    /// 定义选择窗口 通过名字判定  类型打开和关闭
    /// </summary>
    /// <param name="name"></param>
    /// <param name="type"></param>
  public void SelectWindow(string name,string type)
    {
        for (int i = 0; i < transform.childCount; i++)
        {
            if (type == "OpenWindow")
            {
                OpenWindow(name);
            }
            if (type == "CloseWindow")
            {
                CloseWindow(name);
            }
        }
    }
    /// <summary>
    /// 定义统一的关闭窗口 
    /// </summary>
    /// <param name="ID"></param>
    public void CloseWindow(string ID)
  {
      for (int i = 0; i < UImanager.childCount; i++)
      {
          if (UImanager.GetChild(i).name == ID)
          {
              UImanager.GetChild(i).gameObject.SetActive(false);
          }
      }
  }
    /// <summary>
    /// 定义统一的打开窗口
    /// </summary>
    /// <param name="ID"></param>
    public void OpenWindow(string ID)
    {
        for (int i = 0; i < UImanager.childCount; i++)
        {
            if (UImanager.GetChild(i).name == ID)
            {
                UImanager.GetChild(i).gameObject.SetActive(true);
            }
        }
    }
}
通过 用另个一个调用
using UnityEngine;
using System.Collections;

public class Btn_Manager : MonoBehaviour {

    UI_Manager manager;  // 定义 UI_Manager组件
    Transform UIManager; // 
   
  
	// Use this for initialization
	void Start () 
    {
        UIManager = GameObject.Find("UI_Manager").transform;
        manager=GameObject.Find("UI_Manager").GetComponent<UI_Manager>();

	}
	
	// Update is called once per frame
    void OnClick()
    {
        switch (transform.name)
        {
            //  点击跳转
            case "BtnName":
                manager.SelectWindow("WindowName", "OpenWindow"); 
                manager.SelectWindow("WindowName","CloseWindow");
              
                break;


好了写完了,人生第一个。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值