构建Unity3D信号槽机制 【ZObject.cs】

首先我们的模块A,管理类B都继承自ZObject...

1,在模块A中定义一个信号

复制代码
//定义信号
public SIGNAL mouseClickSignal;
//鼠标点击物体A时发出信号
Void OnMouseDown(){
EMIT(mouseClickSignal, null);
}


2,在管理类B中定义一个接收信号用的槽 

复制代码
void SLOT_MouseClicked(Hashtable args){
//do something
}


3,在管理类B连接信号与相应的槽 

复制代码
public ClassA classA; //模块A 
void Awake () {
CONNECT(ref classA.mouseClickSignal, SLOT_MouseClicked);
}

Ver2.0中CONNECT 第一个参数要用ref指向其指针

怎么样,通过信号槽机制,只要三个步骤我们就可以实现delegate的功能。
如果对信号槽机制还是无法理解的话,可以搜索一下Qt + 信号槽,有不少相关文章,比本文解释的更加详尽。
ZObject具体使用方法可以参考附件中的工程文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值