quick-coco2d下的事件

qucik下的事件机制很简洁,也很简单,能够处理大多数的自定义时间,我们新建一个类型,然后用扩展的方式实现事件,之前quick的文档上很详细,但是很悲哀,傻逼的的网站现在是404,记下来,怕到时候忘记了

我这里新建了 一个layer

local PauseLayer = class("PauseLayer", function()
return display.newColorLayer(ccc4(162,162,162,128))
end)

function PauseLayer:ctor()

cc.GameObject.extend(self):addComponent("components.behavior.EventProtocol"):exportMethods()

//我这里添加了一个menu

local resume = ui.newImageMenuItem({
image = "image1.png",
imageSelected = "image2.png",
listener = function()

//按钮的响应事件
self:resume()
end
})

menu:setPosition(display.left, display.bottom)
self:addChild(menu)

end

function PauseLayer:resume()

//这里增加了的是自定义的事件
self:childClickEvent()
end

function PauseLayer:childClickEvent()
self:dispatchEvent({name= "HELLO_FISH"})
end

在调用页面

self.layer= PauseLayer.new()
self.layer:addEventListener("HELLO_FISH",handler(self, self.onChildClick))
self:addChild(self.layer)

function TestGameScene:onChildClick()
printf("hello kitty ");
end

这就完成了自定义事件的创建和使用,用完要记得在onexit中 clean呀

原文地址:https://www.cnblogs.com/fish124423/p/5899794.html