您现在的位置:首页 >> 前端 >> 内容

quickcocos2dx组件使用详解

时间:2018/2/10 14:39:45 点击:

  核心提示:之前我们讲了quickcocos的组件点击查看里面提到了如何把自身包装成一个组件。local clsA = class(clsA, function () return display.newNode...

之前我们讲了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", function () 
    return display.newNode()
    end)

cc(self):addComponent("components.behavior.EventProtocol"):exportMethods()  
    self.handle = self:addEventListener("myevent", handler(self, 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", handler(self, self.callback)) 

这样子,就可以监听A分发的事件了。

Tags:QU UI IC CK 
作者:网络 来源:yuan2053的博