unity3d Panel之间的转换

效果展示:


如上图,点击入口弹出绿色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);
        }
    }
 
}


  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 在Unity3D中,要实现点击按钮切换面板,可以通过以下步骤: 1. 创建两个面板,分别为“面板1”和“面板2”,并将它们放置在场景中。 2. 在“面板1”中添加一个按钮,命名为“切换面板”,并设置其OnClick事件。 3. 在OnClick事件中,添加一个脚本,用于切换面板。脚本可以使用SetActive()方法来控制面板的显示和隐藏。 4. 在脚本中,使用Find()方法来查找“面板2”,并将其SetActive()设置为true,同时将“面板1”的SetActive()设置为false,即可实现面板的切换。 5. 在“面板2”中添加一个按钮,命名为“返回”,并设置其OnClick事件。 6. 在OnClick事件中,添加一个脚本,用于返回“面板1”。脚本同样可以使用SetActive()方法来控制面板的显示和隐藏。 7. 在脚本中,使用Find()方法来查找“面板1”,并将其SetActive()设置为true,同时将“面板2”的SetActive()设置为false,即可实现面板的切换。 以上就是Unity3D点击按钮切换面板的实现方法。 ### 回答2: 在Unity3D中实现点击按钮切换Panel,一般需要以下几个步骤: 1. 创建Panel 首先,需要创建至少两个Panel,可以使用Unity提供的UI系统实现。其中一个Panel为初始Panel,另一个为需要切换到的Panel。 2. 创建Button 在需要切换Panel上创建一个Button,可以使用Unity提供的Button组件实现。 3. 编写脚本 编写一个脚本,使用C#语言实现。该脚本需要挂载到Button上。脚本的主要作用是控制Panel的显示和隐藏。 使用SetActive方法实现Panel的显示和隐藏。例如,Panel1.SetActive(false)表示隐藏Panel1,Panel2.SetActive(true)表示显示Panel2。 需要注意的是,脚本中需要定义两个Panel,即需要切换Panel和当前显示的Panel。在Button的响应函数中,判断当前显示的Panel是哪一个,然后根据需要切换到的Panel的名称,调用SetActive方法实现Panel切换。 4. 将脚本附加到Button上 将编写好的脚本挂载到Button上,在Inspector窗口中将需要切换到的Panel的名称赋值给脚本中定义的目标Panel变量。 5. 运行游戏 运行游戏,在点击Button时就会切换到指定的Panel。 总的来说,Unity3D实现点击按钮切换Panel比较简单,只需要掌握一些基本的UI操作和脚本编写即可。在实际项目中,可以根据需要进行进一步的优化和扩展,实现更多的UI交互效果。 ### 回答3: 在Unity3D中实现点击按钮切换Panel可以用以下步骤: 1. 准备工作:将需要切换Panel设置为Panel类型,设置位置和状态。 2. 创建按钮:在当前Panel中创建Button,设置Button的位置和触发事件。 3. 编写代码:首先在脚本中给Button添加触发事件,之后利用SetActive函数实现Panel切换。 下面来具体介绍一下实现过程: 1. Panel准备工作: 首先在Hierarchy中添加UI->Panel,之后在Inspector中设置Panel的位置和状态。 2. 创建按钮: 在当前Panel中再次右键->UI->Button,新建Button。在Imspector中设置Button的位置和触发事件。 3. 编写代码: 首先需要在脚本中添加using UnityEngine.UI;,在Start()方法中为Button添加OnClick事件,并在OnClick中调用SetActive方法实现Panel切换。 代码如下: ``` using UnityEngine; using UnityEngine.UI; public class SwitchPanel : MonoBehaviour { public GameObject panel1; public GameObject panel2; public Button button; void Start() { button.onClick.AddListener(OnButtonClick); } private void OnButtonClick() { if (panel1.activeSelf == true) { panel1.SetActive(false); panel2.SetActive(true); } else { panel1.SetActive(true); panel2.SetActive(false); } } } ``` 其中,panel1和panel2是需要切换Panel对象,button是需要添加OnClick事件的Button。 最后将脚本挂载在Panel上即可完成Panel切换

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值