为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 ()”的区域,点击该区域的“+”号,可以添加一个触发项,触发项前面可以选择一个任意的游戏对象,当选择了游戏对象之后后面就可以选择该对象上的一个任意方法,选择好之后,当我们点击了该按钮对象之后就会调用到选择的游戏对象的制定方法。

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

天道酬勤,功不唐捐!

最新文章

  1. asp.net fileupload上传大文件时提示404.13错误
  2. JSON.stringify()和JOSN.parse()
  3. HTTPS那些事(二)SSL证书
  4. SQL 操作语句
  5. Sqli-LABS通关笔录-2
  6. 缓存插件 EHCache 对象缓存(Spring)
  7. 升级到EntityFramework 6的注意事项
  8. struts2项目需要加入的jar包
  9. 转载:百度原CTO李一男经典语录
  10. C#创建微信自定义菜单
  11. 祖国版Solowheel!IPS103 独轮思维车 - 三个月体验报告
  12. python实现邮件发送完整代码(带附件发送方式)
  13. iOS 程序开发
  14. 关于使用lazytag的线段树两种查询方式的比较研究
  15. 区分javascript中的toString(),toLocaleString(),valueOf()方法
  16. 可道云kodexplorer网盘未清理造成linux服务器爆满的解决方法
  17. Javascript Date类型
  18. poj 1321 棋盘问题 (DFS深度优先搜索)
  19. Spring Factory
  20. jumpservice一步一步安装

热门文章

  1. 腾讯云CentOS7.0使用yum安装mysql
  2. Hbuilder开发app实战-识岁03-文件上传
  3. js关于函数和对象的概念
  4. Android studio中出现Couldn&#39;t resolve resource @dimen/...
  5. I/O多路复用和Socket
  6. 【原创】在VS2012中采用C++中调用DLL中的函数(4)
  7. 初试PyOpenGL三 (Python+OpenGL)GPGPU基本运算与乒乓技术
  8. 【转】【Nginx】Nginx 入门教程 + 常用配置解析
  9. 第三百三十二节,web爬虫讲解2—Scrapy框架爬虫—Scrapy使用
  10. python3 pyodbc简单使用