近期热门
粉丝3
关注 1
获赞 0
【转】构建Unity3D信号槽机制 【ZObject.cs】9月13日更新Ver 2.0

[U3D] 【转】构建Unity3D信号槽机制 【ZObject.cs】9月13日更新Ver 2.0

[复制链接]
3107 1 0 0 12年前 举报
首先我们的模块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具体使用方法可以参考附件中的工程文件。
0
点赞
0
打赏
0
添加到收藏夹

0

点击复制链接

使用微信扫码分享
一次扣10个券
全部评论1
您需要登录后才可以回帖 登录

谢谢楼主分享
12年前
回复

使用道具 举报

您当前使用的浏览器IE内核版本过低会导致网站显示错误

请使用高速内核浏览器或其他浏览器