Unity中如何激发(invoke)一个Button的OnClick事件

这篇具有很好参考价值的文章主要介绍了Unity中如何激发(invoke)一个Button的OnClick事件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、效果

点了【按钮2】后,会激发(invoke)【按钮1】的OnClick事件
unity button onclick,unity,C#,event文章来源地址https://www.toymoban.com/news/detail-524507.html

二、激发一个按钮的OnClick事件的方法

  • 1、用Invoke()激发
targetButton.onClick.Invoke();
  • 2、用ExecuteEvents.Execute()分发
PointerEventData eventData = new PointerEventData(EventSystem.current);
ExecuteEvents.Execute(buttonOne.gameObject, eventData, ExecuteEvents.pointerClickHandler);//分发物体的Click事件

三、代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

/// <summary>
/// 点击一个button,激发另一个button的onClick事件
/// </summary>
public class TestButtonOnClickInvoke : MonoBehaviour
{
    public Button buttonOne;
    public Button buttonTwo;

    // Start is called before the first frame update
    void Start()
    {
        buttonOne.onClick.AddListener(() => Debug.Log("Button1:谁在点我!"));
        buttonTwo.onClick.AddListener(() =>
        {
            Debug.Log("Button2:为什么点的总是我,我也要点一下button1");
            //茴【香豆】字的第一种写法
            Debug.Log("Button2:我用onClick.Invoke点它");
            buttonOne.onClick.Invoke();

            //茴【香豆】字的第二种写法
            Debug.Log("Button2:我用EventSystems点它");
            PointerEventData eventData = new PointerEventData(EventSystem.current);
            ExecuteEvents.Execute(buttonOne.gameObject, eventData, ExecuteEvents.pointerClickHandler);//分发物体的Click事件
        });
    }
}

到了这里,关于Unity中如何激发(invoke)一个Button的OnClick事件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity实现UI按钮Button的按下、抬起、移出、移入事件

    实现思路, 1、重新写类,继承Button,在类中实现相关的事件响应。 2、将类挂载到Cavas下创建的Button按钮上,挂载之前需先移除Button默认的组件button。 3、编写代码给按钮添加事件,这一步与默认的 onClick.AddListener 用法没什么区别。 个人认为这种方法比较灵活,做个记录,方便

    2024年03月14日
    浏览(49)
  • 【Unity知识点详解】Button点击事件拓展,单击、双击、长按实现

    Button拓展         今天来聊一下关于Button的事件拓展,这里只是拿Button来举例,Unity中其他的UI组件如Toggle、Slider等都也适用。         我们知道在Button中我们可以通过onClick的方式来添加点击事件,但在游戏开发过程中我们往往对Button有着更多的功能需求,比如说双击、

    2024年04月10日
    浏览(31)
  • Unity3D Button 鼠标悬浮进入与鼠标悬浮退出按钮事件

    由于甲方验收未通过,项目需要改版,在修改界面时,想实现鼠标在一级菜单悬浮即可显示二级菜单的功能,主要如下图 注意,上图鼠标只是悬浮在场景漫游按钮上,并未点击左键或右键等 思路是让类继承IPointerEnterHandler IPointerExitHandler两个接口,然后实现其中的方法 代码如

    2024年02月16日
    浏览(37)
  • 【虚拟仿真】Unity3D中实现3DUI,并且实现Button、InputField、Toggle等事件绑定

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 大家好,我是佛系工程师 ☆恬静的小魔龙☆ ,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 最近在项目中需要用到3DUI的展示,之前一般会用TextMeshPro进行展示: 但是,后面又需要添加按钮、Toggle等,就捣鼓了

    2024年02月22日
    浏览(47)
  • 【Unity VR开发】结合VRTK4.0:创建一个按钮(Button)

    天若阻我,我便撕裂这天!地若拦我,我便踏碎这地! 在3D空间中,我们往往需要设置空间按钮,通过交互器或指针与之交互的可碰撞来实现。接下来我们设置一个简单的按钮,可以使用对象指针进行选择,以启动按钮的点击,使用预制件表示我们的按钮,并使用可与按钮交互

    2024年02月13日
    浏览(30)
  • 【Unity VR开发】结合VRTK4.0:创建一个按钮(Togglr Button)

    有人感激过你的善良吗,貌似他们只会得寸进尺。         Toggle按钮是提供简单空间 UI 选项的另一种方式,在该选项中,按钮将保持其状态,直到再次单击它。这允许按钮处于激活状态或停用状态的情况,通过单击带有对象指针的按钮来切换每个状态。        Interactions.

    2024年02月04日
    浏览(28)
  • Unity基础 - 封装一个好用的事件系统

    在游戏开发过程中,我们会大量使用事件系统。很多时候,比起直接调用对象组件的方法,使用事件触发将很大程度上降低系统的耦合度,从而实现更为优雅的系统设计。 封装一个好用的事件系统将对我们的开发起到很大的帮助。 本文将基于Unity提供的ScriptableObject和UnityEv

    2024年02月02日
    浏览(36)
  • 【Unity入门】19.定时调用Invoke

        大家好,我是Lampard~~     欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢  (1)Invoke 单词调用     计时器我们并不陌生,在cocos上有着schedule类是相似的。在Unity中给我们提供了Invoke相关的类来实现计时器功能     首先我们熟悉的是 单次延时调用方法Inv

    2024年02月03日
    浏览(29)
  • 【Unity记录】如何优雅地在Unity中订阅与退订C#事件

    阅读须知: 阅读本文建议提前了解C#事件系统 本文侧重介绍在Unity中事件退订的做法 本文将介绍: 简单介绍何为事件 简单介绍如何使用C#事件 为何需要退订C#事件 何时需要退订C#事件 如何 在Unity中 优雅地退订C#事件 事件模型是面向对象编程中常用的一种模块间通信的模型,

    2024年02月05日
    浏览(35)
  • Unity 之 Invoke 与InvokeRepeting 函数控制定时调用

    在Unity游戏开发中, Invoke 是一种用于延迟调用方法的方法。它允许你在一定的时间之后执行特定的函数或方法,通常用于执行定时任务,例如在一段时间后触发一个事件或在一定间隔内重复执行某个方法。 Invoke 方法的详细介绍如下: 函数签名: methodName :要调用的方法的名

    2024年02月19日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包