为Unity3D的按钮添加事件有三种方式,假设我们场景中有一个Canvas对象,Canvas对象中有一个Button对象。

方式一:

创建脚本ClickObject.cs,然后将脚本添加到Canvas对象上,脚本如下:

 1 using UnityEngine;
2 using System.Collections;
3 using UnityEngine.UI;
4 using UnityEngine.Events;
5
6 public class ClickObject : MonoBehaviour
7 {
8 void Start ()
9 {
10 //获取按钮游戏对象
11 GameObject btnObj = GameObject.Find ("Canvas/Button");
12 //获取按钮脚本组件
13 Button btn = (Button) btnObj.GetComponent<Button>();
14 //添加点击侦听
15 btn.onClick.AddListener (onClick);
16 }
17
18 void onClick ()
19 {
20 Debug.Log ("click!");
21 }
22 }

方式二:

脚本同样添加到Canvas对象上,如下:

 1 using UnityEngine;
2 using System.Collections;
3 using UnityEngine.UI;
4 using UnityEngine.Events;
5
6 public class ClickObject2 : MonoBehaviour
7 {
8 void Start ()
9 {
10 //获取按钮游戏对象
11 GameObject btnObj = GameObject.Find ("Canvas/Button");
12 //获取按钮脚本组件
13 Button btn = (Button) btnObj.GetComponent<Button>();
14 //添加点击侦听
15 btn.onClick.AddListener (delegate() {
16 onClick(btnObj);
17 });
18 }
19
20 void onClick (GameObject obj)
21 {
22 Debug.Log ("click: " + obj.name);
23 }
24 }

方式三:

之前的方式都是使用代码添加,下面的这个方式则是直接在编辑器中进行操作:

我们找到Button游戏对象,找到其Button代码组件,在组件最下方有一个“On Click ()”的区域,点击该区域的“+”号,可以添加一个触发项,触发项前面可以选择一个任意的游戏对象,当选择了游戏对象之后后面就可以选择该对象上的一个任意方法,选择好之后,当我们点击了该按钮对象之后就会调用到选择的游戏对象的制定方法。

该方式太简单就不写示例代码了。

天道酬勤,功不唐捐!

Unity3D的按钮添加事件有三种方式的更多相关文章

  1. PHP---TP框架---添加数据-----有三种方式

    添加数据 添加数据有三种方式: 第一种: <?php namespace Home\Controller;//这个文件的命名空间 use Think\Controller;//use使用哪一个而 ...

  2. GUI编程笔记(java)06:GUI窗体添加按钮并对按钮添加事件案例

    1.需求:把按钮添加到窗体,并对按钮添加一个点击事件. 步骤: (1)创建窗体对象(2)创建按钮对象(3)把按钮添加到窗体(4)窗体显示 2.编写程序思路: 窗体布局:窗体中组件的排列方式  布局分类 ...

  3. JS闭包导致循环给按钮添加事件时总是执行最后一个

    加入如下脚本代码: <script> var list_obj = document.getElementsByTagName('li'); for (var i = 0; i <= ...

  4. 【转】为ListView每个Item上面的按钮添加事件

    原文网址:http://blog.csdn.net/qq435757399/article/details/8256453 1.先看下效果图:        在这里仅供测试,我把数据都写死了,根据需要 ...

  5. 一百、SAP中ALV事件之十三,给ALV的自定义按钮添加事件

    一.我们查看定义的按钮,有一个名字是ZADD的自定义按钮 二.代码如下,用于判断点击了哪个按钮 三.点击测试按钮之后,会弹出一个弹窗 完美

  6. bootstraptable为行中的按钮添加事件

  7. Java添加事件的四种方式

    Java添加事件的几种方式(转载了codebrother的文章,做了稍微的改动) /** * Java事件监听处理——自身类实现ActionListener接口,作为事件监听器 * * @author ...

  8. Java添加事件的几种方式(转载了codebrother的文章)

    /** * Java事件监听处理——自身类实现ActionListener接口,作为事件监听器 * * @author codebrother */ class EventListener1 exte ...

  9. JS事件冒泡机制和兼容性添加事件

    本篇文章主要来讲讲 事件的冒泡机制 和 添加事件的几种方法. 一. JS的时间传递顺序: 捕获阶段 -> 目标阶段 -> 冒泡阶段 捕获阶段是指从父层往子层找.比如 <body> ...

随机推荐

  1. java小技巧-生成重复的字符

    今天碰到个需求,根据字段个数,动态生成sql的占位符,如下: public static void main(String[] args) { System.out.println(String.jo ...

  2. 数据採集之Web端上传文件到Hadoop HDFS

    前言 近期在公司接到一个任务.是关于数据採集方面的. 需求主要有3个: 通过web端上传文件到HDFS; 通过日志採集的方式导入到HDFS; 将数据库DB的表数据导入到HDFS. 正好近期都有在这方面 ...

  3. CSS(三):引入样式和优先级

    CSS的引入样式总共有三种:行内样式(内联样式表).内部样式表.外部样式表.下面分别来介绍这三种样式. 一.行内样式 行内样式也叫内联样式,使用style属性引入CSS样式.看下面的示例: <! ...

  4. webRTC源码下载 Windows Mac(iOS) Linux(Android)全

    webRTC源码下载地址:https://pan.baidu.com/s/18CjClvAuz3B9oF33ngbJIw  提取码:wl1e  Windows版:visual studio 2017工 ...

  5. java生成word的完美解决方案

    http://www.360doc.com/content/13/0731/10/13247663_303740756.shtml —————————————————————————————————— ...

  6. 关于Unity中的NGUI字体

    NGUI字体类型 1: UIFont字体,UIFont类实现的2: TTF动态字体的使用3: BBCode的特殊字体的使用4: NGUI字体制作5: BMFont字体制作和艺术字体的制作6: UILa ...

  7. 关于Unity中拖尾渲染器的使用

    拖尾渲染器 是一个组件,能够帮我们绘制出拖尾的效果. 就是跟在运动物体后面的东西,前进的过程中,末尾的不断消失,前面的不断生成,有一个长度.长度是以时间计算的,从末尾到头有多少秒的时间就是拖尾的长度. ...

  8. 关于Unity中关节的使用(一)

    1: 刚体的形状大小在物理世界里面是不变的,可是很多时候,我们需要多个刚体来配合使用;2: 关节: 连接刚体与刚体的对应的物理模拟;3: 关节类型: 铰链关节,弹簧关节, 固定关节, 角色关节,可配置 ...

  9. 关于阅读JDK源码的准备

    说明:本篇是给自己看的. 笑 最近突然有冲动 想研究下JDK的源码,搜索了一番,基本上推荐从集合开始,精华部分包括:集合.IO.多线程.网络编程. 虚拟机部分先放一放吧,感觉现在不适合我这种半路出家的 ...

  10. C++ 查询某个变量的类型

    #include <typeinfo> int iii = 100; printf("%s\n",typeid(iii).name());//类型 详见:http:// ...