之前我们讲了quickcocos的组件点击查看
里面提到了如何把自身包装成一个组件。
local clsA = class("clsA",function ()
return display.newNode()
end)
cc(self):addComponent("components.behavior.EventProtocol"):exportMethods()
self.handle = self:addEventListener("myevent",handler(self,self.callback))
若想clsB中想监听clsA这个”myevent”的事件以下写法是错误的
local clsB = class("clsB",self.callback))
这里虽说clsB也是一个组件,而且也有能力调用callback,但是它却收不到clsA发出来的这个事件.原因是,每个组件之间不共享事件通道。clsA的事件只分发到用它注册过的回调上。
因此,这里B要是想监听clsA的事件,则用以下方法
local clsA = require("clsA")
local clsB = class("clsB",function ()
return display.newNode()
end)
self.handle = clsA:addEventListener("myevent",self.callback))
这样子,就可以监听A分发的事件了。