Unity 按钮添加OnClick事件操作

1、在Hierarchy面板右键UI>Button

2、创建一个空物体

3、创建一个脚本 ButtonClick.cs,定义一个Click方法(必须为Public)

4、把脚本挂在到空物体上

5、将空物体拖到如下图 None(Object) 位置

6、在右侧选择 ButtonClick>Click 方法

7、如下

补充:Unity三种添加Click事件

我就废话不多说了,大家还是直接看代码吧~

 public  Button btn;
 void Start () {
        // 一、btn.onClick.AddListener(OnBtnClick);
        // 二、btn.onClick.AddListener(delegate () { OnBtnClick(); });
        btn.onClick.AddListener(() => {
            OnBtnClick();
        });
 }
    void OnBtnClick()
    {
        Debug.Log("0000");
    }

补充:Unity UGUI 动态添加Button.OnClick()事件

如下所示:

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.Events;
using UnityEngine.UI;
public class ButtonOnClickTest: MonoBehaviour {

 // Use this for initialization
 void Start () {
  List<string> btnsName = new List<string>();
  btnsName.Add("BtnPlay");
  btnsName.Add("BtnShop");
  btnsName.Add("BtnLeaderboards");

  foreach(string btnName in btnsName)
  {
   GameObject btnObj = GameObject.Find(btnName);
   Button btn = btnObj.GetComponent<Button>();
   btn.onClick.AddListener(delegate() {
    this.OnClick(btnObj);
   });
  }
 }

 public void OnClick(GameObject sender)
 {
  switch (sender.name)
  {
  case "BtnPlay":
   Debug.Log("BtnPlay");
   break;
  case "BtnShop":
   Debug.Log("BtnShop");
   break;
  case "BtnLeaderboards":
   Debug.Log("BtnLeaderboards");
   break;
  default:
   Debug.Log("none");
   break;
  }
 }

 // Update is called once per frame
 void Update () {

 }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • Unity实现轮盘方式的按钮滚动效果

    近期在项目中,策划给出了一个需求就是,让按钮按照一个轮盘的轨迹进行滑动的效果,经过一番测试,实现了初步的效果. 我这里区分了横向滑动和纵向滑动,这里以纵向滑动为例子进行示范,实现按钮的滑动效果. 首先就是先进行位置初始化: /// <summary> ///从大到小排序,Y轴 /// </summary> private Comparison<CircleScrollRectItemBase> ComparisionY = delegate (CircleScrollR

  • Unity 按钮事件封装操作(EventTriggerListener)

    我就废话不多说了,大家还是直接看代码吧~ using UnityEngine; using UnityEngine.EventSystems; namespace Mx.UI { public class EventTriggerListener :UnityEngine.EventSystems.EventTrigger { public delegate void VoidDelegate(GameObject go); public VoidDelegate onClick; public

  • 在Unity中捕捉Android的常用按钮返回事件

    在Unity开发中捕捉Android的常用事件其实很简单 Input.GetKey(KeyCode.Escape) Input.GetKeyDown(KeyCode.Home) // 返回键 if ( Application.platform == RuntimePlatform.Android &&(Input.GetKeyDown(KeyCode.Escape))) { //.... } // Home键 if ( Application.platform == RuntimePlat

  • unity实现翻页按钮功能

    本文实例为大家分享了unity实现翻页按钮功能的具体代码,供大家参考,具体内容如下 效果图: UI子父级关系: 代码中也都有加入注释,有不懂可私信我.脚本中用到了对象池,我没有上传,可根据自己需求做相应变动. 脚本:PageBtnPanelC using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; using UnityEngine.UI; /

  • Unity3D实现虚拟按钮控制人物移动效果

    本文为大家分享了Unity3D实现虚拟按钮控制人物移动的具体代码,供大家参考,具体内容如下 创建Image的UI组件,在Image下新建一个Button按钮.在Image 和Button上拖进Sprite图片 在Button按钮上挂载该脚本 using System.Collections; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; public class MyJoystick : Mono

  • Unity 按钮添加OnClick事件操作

    1.在Hierarchy面板右键UI>Button 2.创建一个空物体 3.创建一个脚本 ButtonClick.cs,定义一个Click方法(必须为Public) 4.把脚本挂在到空物体上 5.将空物体拖到如下图 None(Object) 位置 6.在右侧选择 ButtonClick>Click 方法 7.如下 补充:Unity三种添加Click事件 我就废话不多说了,大家还是直接看代码吧~ public Button btn; void Start () { // 一.btn.onClic

  • 原生JS操作网页给p元素添加onclick事件及表格隔行变色

    1. 给网页中的所有p元素添加onclick事件: 复制代码 代码如下: <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html> <head> <title>Insert title here</title> <!-- <script src="jQuery/jquery-1.10.2.

  • JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法

    本文实例讲述了JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法.分享给大家供大家参考,具体如下: 这里演示js如何给页面中所有的img对象加上onclick事件,且实现在新窗体中查看该图片文件的功能: <script type="text/JavaScript" language="javascript"> <!-- ///给页面中所有img对象添加onclick事件 //author:aganar /// function

  • 详解a标签添加onclick事件的几种方式

    我们常用的在a标签中有点击事件: 1. a href="javascript:js_method();" rel="external nofollow" 这种方法在传递this等参数的时候很容易出问题,而且javascript:协议作为a的href属性的时候不仅会导致不 必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放.W3C标准不推荐在href里面执行 javascript语句 2. a href="jav

  • vant组件中 dialog的确认按钮的回调事件操作

    不知道是不是我理解有问题,看了vant的组件库,他的文档是这样说的 然后我就绑定了事件 :confirm 结果他的触发机制是:加载页面时会触发,点击按钮打开模态框时会触发,点击确定会触发,点击取消也会触发. 经过查阅资料以后,可以绑定他一个事件:beforeClose 这个事件的回调 有两个参数, 第一个参数是来判断点击的是确认按钮还是取消按钮.第二个参数我感觉就是可以关闭模态框. 补充知识:修改 vant 弹窗Dialog 组件调用是确认按钮与取消按钮的文字 Props 有关props 两个属

  • js动态添加onclick事件可传参数与不传参数

    1)当方法没有参数时,赋值可以直接用onclick = 方法名 window.onload = function() { $('btnTest').onclick = test; } function test() { alert(val); } 2)当方法有参数时,用onclick = 方法名(参数)时就有错了,需要在方法名前面加function() window.onload = function() { $('btnTest').onclick= function() { test(1)

  • js动态添加的DIV中的onclick事件简单实例

    最简单的是这样: <input type="button" onclick="alert(this.value)" value="我是 button" /> 动态添加onclick事件: <input type="button" value="我是 button" id="bu"> <script type="text/javascript&quo

  • js触发asp.net的Button的Onclick事件应用

    在asp.net引入事件驱动之后,在一个页面上很容易解决多个按钮触发不同事件的问题,避免了在asp中需要多个form或者通过js脚本来控制的麻烦. asp.net带来便利的同时,也带来一个问题.在实际应用中一个页面存在多个按钮的情况并不多.用户习惯于在输入框输入内容之后,直接按回车就提交表单了.由于asp.net采用的是事件驱动模式,所以默认用户按回车并没有触发按钮的onclick事件.用户按回车也不是没有提交表单,通过httpwath可以看到,实际上页面表单是提交到了form下的action页

  • JS基于onclick事件实现单个按钮的编辑与保存功能示例

    本文实例讲述了JS基于onclick事件实现单个按钮的编辑与保存功能.分享给大家供大家参考,具体如下: 该实例可以实现点击同一个按钮实现编辑和保存的功能: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv=&q

随机推荐