【UGUI】为Button 组件添加回调函数-也就是按钮控制一些行为

【UGUI】为Button 组件添加回调函数-也就是按钮控制一些行为

第一种:添加侦听事件-拿到Button-代码关联一个函数

cs 复制代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;

public class UIcontrol : MonoBehaviour
{
    // 演示组件控制
    //1.拿到整个游戏物体 2.拿到组件 3.获取用选中的数值 
    GameObject ONEBTobj;//拿到按钮 !类的变量,类的实例化对象
    Button ButtonComp;//拿到按钮组件!类的变量,类的实例化对象
    public GameObject Image1;//拿到一个图片

    void Start()
    {
        
        Image1.SetActive(false);//游戏开始让图片关闭
        
        ButtonComp.onClick.AddListener(ClickButton);//为按钮添加一个关联的函数!-委托事件
    }
    public void ClickButton()
    {
        Debug.Log("点击按钮!开始游戏了");
        if (Image1.activeSelf)
        {
            Image1.SetActive(false);
        }
        else
        {
            Image1.SetActive(true);
        }
    }


}

第二种办法:自定义一个Public函数然后在组件属性中添加

首先在脚本任意创建一个公共函数

然后在外部挂在到按钮组件下面的Onclick() 列表中,点击加号,添加回调函数!

要想找到函数、需要找到脚本、要想找到脚本需要找到脚本所在的游戏物体!

因此把我们定义的公共函数所在的脚本所在游戏物体放进去!

相关推荐
2 小时前
Unity开发中常用的洗牌算法
java·算法·unity·游戏引擎·游戏开发
马特说6 小时前
Unity VR手术模拟系统架构分析与数据流设计
unity·系统架构·vr
心前阳光1 天前
Unity WebGL文本输入
unity·游戏引擎·webgl
天涯过客TYGK1 天前
unity A星寻路
unity·游戏引擎
KhalilRuan1 天前
Unity Demo——3D平台跳跃游戏笔记
笔记·游戏·unity·游戏引擎
ttod_qzstudio2 天前
Unity中使用EzySlice实现模型切割与UV控制完全指南
unity
南無忘码至尊2 天前
Unity 实现与 Ollama API 交互的实时流式响应处理
unity·游戏引擎·交互
平行云2 天前
如何实现UE程序大并发多集群的像素流部署
unity·ue5·图形渲染
向宇it3 天前
【unity小技巧】在 Unity 中将 2D 精灵添加到 3D 游戏中,并实现阴影投射效果,实现类《八分旅人》《饥荒》等等的2.5D游戏效果
游戏·3d·unity·编辑器·游戏引擎·材质
向宇it3 天前
Unity Universal Render Pipeline/Lit光照材质介绍
游戏·unity·c#·游戏引擎·材质