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

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

    天道酬勤,功不唐捐!
  • 相关阅读:
    websocket协议解决消息发送问题 Could not decode a text frame as UTF-8.
    成功解决internal/modules/cjs/loader.js:596 throw err; ^ Error: Cannot find module 'minimatch'
    FastDFS客户端与自定义文件存储系统
    fastdfs 中client.conf 文件
    centos 中 redis 的安装
    redis安装成功后get: command not found
    Shell基础知识(二)
    Shell基础知识(一)
    binary search模板总结
    配置远程jupyter notebook
  • 原文地址:https://www.cnblogs.com/shenlaiyaoshi/p/8110440.html
Copyright © 2011-2022 走看看