Unity全面入门笔记20-三种Event

event、Event 和 UnityEvent

event和delegate

  • event

event是C#的保留关键字,是委托的一种封装。委托(delegate)可以理解为C或C++中的函数指针,可以保存具有特定返回类型和参数列表的方法的引用,并直接作为函数的参数间接调用目标函数。事件(event)则可以理解为基于委托的一个函数指针栈,可以包括来自不同类型的不同对象的不同方法。典型的委托与事件的使用如下:

public delegate void PrintName(string name);//声明了一个委托类型
public class DelegateExample : MonoBehaviour
{
	public event PrintName printName;//将委托类型作为事件实例化
	void print(string name, PrintName method)//将委托类型作为函数参数的示例
	{
		method(name);
	}
	private void Start()
	{
		printName += PrintEnglishName;//使事件监听一个函数
		printName += PrintChineseName;//使事件监听另一个函数
		printName("UPiracy");//调用事件
		print("UPiracy",printName);//通过函数调用事件
	}
	private void PrintEnglishName(string name) 
	{
		Debug.LogFormat("My name is {0}.", name);
	}
	private void PrintChineseName(string name) 
	{
		Debug.LogFormat("我的名字是{0}.", name);
	}
}

Event

  • Event综述

Event是属于UnityEngine命名空间的,它和event完全无关,是用于处理输入事件的类型,它主要负责Unity中的键盘、按键、鼠标输入以及GUI事件。

在生命周期表中,我们可以看到OnGUI事件在一帧中可以被调用很多次。在每一次键盘、鼠标、按键以及GUI输入发生时&

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值