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

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

    天道酬勤,功不唐捐!
  • 相关阅读:
    游戏中的View开发
    下载更新包,并且在任务栏提示进度.
    调用android非unbind的服务中的方法(不使用bindService启动的服务)
    判断android系统中Service是否在运行的方法
    如何从Activity中调用Service中的方法
    android官方文档---应用程序基础---服务的理解(app Component---services)
    怎么通过文件名的String,找到对应的资源ID
    疯狂Java之JDBC 笔记
    android应用将json数据打包在本地,进行读取的代码
    STL 堆的使用
  • 原文地址:https://www.cnblogs.com/shenlaiyaoshi/p/8110440.html
Copyright © 2011-2022 走看看