unity代理委托的简单用法
来源:互联网 发布:乌鲁木齐 中亚 知乎 编辑:程序博客网 时间:2024/04/28 20:09
首先打开unity,然后新建个脚本叫testDelegate,内容为:
using System.Collections;using System.Collections.Generic;using UnityEngine;public struct teteEventArgs{public float distance;}public delegate void teteEventHandler(object sender, teteEventArgs e);public class testDelegate : MonoBehaviour {public event teteEventHandler GazeOn;public event teteEventHandler GazeOff;// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () {if (Input.GetKeyDown (KeyCode.R)) {Debug.Log("点击r 1");teteEventArgs e;e.distance = 100;if (GazeOn != null) {Debug.Log("点击r 2");GazeOn (this, e);}}if (Input.GetKeyDown (KeyCode.U)) {Debug.Log("点击u 1");teteEventArgs e;e.distance = 50;if (GazeOff != null) {Debug.Log("点击u 2");GazeOff (this, e);}}}}
保存,然后回到unity场景里,新建个cube挂载上这个脚本,可以点击运行试试,点击r或者u都只会执行到log1的位置,证明这两个代理都是空的。
接下来需要写接收的代码,再新建个c#脚本叫testDelegate2,内容为:
using System.Collections;using System.Collections.Generic;using UnityEngine;public class testDelegate2 : MonoBehaviour {// Use this for initializationvoid Start () {GameObject.Find ("Cube").GetComponent<testDelegate> ().GazeOn += touchR;GameObject.Find ("Cube").GetComponent<testDelegate> ().GazeOff += touchU;}// Update is called once per framevoid Update () {}void touchR(object sender, teteEventArgs e){Debug.Log ("点击到了r键,进行回调 distance为 " + e.distance);}void touchU(object sender, teteEventArgs e){Debug.Log ("点击到了u键,进行回调 distance为 " + e.distance);}}
回到场景新建个sphere挂上试试
阅读全文
0 0
- unity代理委托的简单用法
- 委托代理的一个简单应用
- unity中经常用的一种委托代理
- 代理(委托)delegate基本用法
- unity 委托事件简单应用
- unity中的简单的协程用法。
- 【Unity】Unity中xml的简单用法笔记
- Unity委托的不同写法
- unity委托的排序方法
- 基于代理委托的排序
- iOS-代理委托的使用
- iOS-代理委托的使用
- 代理(委托)的理解
- js的事件代理/委托
- 【Unity】使用C#中的委托类型实现代理设计模式
- 异步委托的用法
- 委托的用法
- c# 委托的用法
- 解决fiddler抓取firefox网络包的问题
- Jquery统计表单文件总大小
- 3.1 链接加载原理及elf文件格式
- # Software-eng lab 4
- Django——登录后回到请求登录的页面
- unity代理委托的简单用法
- 数据结构入门---栈(下)
- 并发和并行的区别
- Scala算法
- 学不下去时坚持的方法
- leetcode--16. 3Sum Closest
- webpack3最新版本配置研究(三)webpack压缩,clean-webpack-plugin,webpack-manifest-plugin,define-plugin
- eclipse和idea的快捷键
- Sqoop导入关系数据库到Hive