• Unity3D的按钮添加事件有三种方式


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

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

    天道酬勤,功不唐捐!
  • 相关阅读:
    Ubuntu 14.04的SWAP 为0
    堆和栈的区别(转过无数次的文章)
    加法乘法判断溢出(转)
    大端格式、小端格式(转)
    Linux 目录操作和4中文件拷贝效率测试
    Linux使用标准IO的调用函数,分3种形式实现
    支持 onload 事件的元素
    $().each() 和 $.each()
    npm install --save 与 npm install --save-dev 的区别
    <!DOCTYPE html>作用
  • 原文地址:https://www.cnblogs.com/shenlaiyaoshi/p/8110440.html
Copyright © 2020-2023  润新知