Cocos2d-x   发布时间:2022-05-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了addObserver和postNotification函数传递函数的区别大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_944_1@上一篇文章中,我们利用addObserver来订阅消息,用postNotification来发布消息,但是有一

@H_944_1@点要注意的是,addObserver和postNotification都可以传递一个CCObject数据,那么如果两

@H_944_1@个函数都传递了数据,在接收消息时,我们应该取谁的数据呢?

@H_944_1@

@H_944_1@在上一篇的代码中修改OtherLayer类,代码如下:

@H_944_1@

@H_944_1@我们看到,在init中新建了一个CCString对象,作为addObserver函数中的参数

@H_944_1@接着,在testmsg中就可以获取到CCString变量,我们用调试模式运行下,将看到以下日志输出:

@H_944_1@

@H_944_1@

@H_944_1@再来看看postNotification如何传递数据,修改HelloWorldScene.cpp中的sendMsg函数即可:

@H_944_1@

@H_944_1@调试模式下运行项目,可看见:

@H_944_1@

@H_944_1@嗯,什么都没有。

@H_944_1@因为,如果addObserver和postNotification函数都传递了数据,并且不是同一个数据,那将

@H_944_1@无法发布消息。换句话说,我们只能使用其中一个函数进行数据的传递,我们把

@H_944_1@addObserver函数的最后一个参数设为NULl.

@H_944_1@再次用调试模式运行项目,可看到:

@H_944_1@

@H_944_1@这代表postNotification的数据传递成功。

大佬总结

以上是大佬教程为你收集整理的addObserver和postNotification函数传递函数的区别全部内容,希望文章能够帮你解决addObserver和postNotification函数传递函数的区别所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。