您的位置:首页 > 产品设计 > UI/UE

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

2015-11-06 15:14 357 查看
既然有了博客,就要写一个。即使我很菜 


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;


好了写完了,人生第一个。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: