效果展示:
如上图,点击入口弹出绿色Panel,点击出口关闭Panel。
代码事例:
using UnityEngine;using UnityEngine.UI;
using System.Collections;
using UnityEngine.EventSystems;
public class SelectLevelMgr : MonoBehaviour {
Transform panel;
// Use this for initialization
void Start () {
//Obtain EntryBtn Button component
var EntryBtn = gameObject.GetComponent<Button>();
//Obtain canvas:Cav_Level
var canvas = GameObject.Find("Cav_Level");
//Obtain Panel:Pal_Green
panel = canvas.transform.FindChild("Pal_Green");
//get by the transform obtain :tansCloseBtn
Transform transCloseBtn = canvas.transform.FindChild("Pal_Green/Btn_Close");
//Obtain 'cpb' Button component
var cpb = transCloseBtn.GetComponent<Button>();
/**
* 点击事件监听方法
* */
if (EntryBtn != null)
{
EntryBtn.ButtonClickEvent = DoEntry;
}
if (cpb != null)
{
cpb.ButtonClickEvent = ClosePanel;
}
}
// Update is called once per frame
void Update () {
}
/**
* 点击事件触发方法
* */
public void DoEntry(BaseEventData eventData)
{
if (panel != null)
{
panel.gameObject.SetActive(true);
}
}
public void ClosePanel(BaseEventData eventData)
{
if (panel != null)
{
panel.gameObject.SetActive(false);
}
}
}