最近使用cocos2d-lua 做一个游戏项目,很多地方使用到消息广播机制,使用引擎提供的 eventproxy 方法,感觉写法繁琐,而且不太方便,所以结合前人经验做了一个管理消息分发的公共类,使用很方便。
但是不适合多个消息接收体,比如同时给两个layer注册同一个监听,会导致另外一个失灵。
在具体的文件中使用 需要先require("MessageManager")
举例:在一个 MainCityUILayer 上添加自定义事件监控
--注册监听事件--
function MainCityUILayer:onEnter()
MainCityUILayer.super.onEnter(self)
addMessage(self, "touchResponse", self.touchResponse)
function MainCityUILayer:onExit()
removeMessageByName("touchResponse")
MainCityUILayer.super.onExit(self)
function MainCityUILayer:touchResponse()
print("touchResponse sucess")
但是不适合多个消息接收体,比如同时给两个layer注册同一个监听,会导致另外一个失灵。
在具体的文件中使用 需要先require("MessageManager")
举例:在一个 MainCityUILayer 上添加自定义事件监控
--注册监听事件--
function MainCityUILayer:onEnter()
MainCityUILayer.super.onEnter(self)
addMessage(self, "touchResponse", self.touchResponse)
end
function MainCityUILayer:onExit()
removeMessageByName("touchResponse")
MainCityUILayer.super.onExit(self)
end
function MainCityUILayer:touchResponse()
print("touchResponse sucess")
end
sendMessage({msg ="touchResponse"})