cocostudio脚本绑定

--[[

cocostudio绑定

@param widget 从json解析出来的uiwidget

@param scene 要绑定到的对象(注,是对象,不是类)

用法:

self.pWidget = GUIReader:shareReader():widgetFromJsonFile("res/display/display.json")

bind(self.pWidget,self)


执行绑定之后,可以使用self.btnName来访问有name属性的对象(不知道是否需要tolua.cast为目标类型)

在被绑定到的对象的类中,如果有对应的click方法,则会自动绑定例如MainScene:btnNameClick

]]

function bind(widget,scene)

local node = nil

CCARRAY_FOREACH(widget:getChildren(),node)

{

if (node:getName() ~= nil and node:getName() ~= "") then

scene[node:getName()] = node --字段绑定,只要有name的就绑

if type(scene[node:getName() .. "Click"]) == "function" then

node:addTouchEventListener(handler(scene,scene[node:getName() .. "Click"]) --事件绑定,约定事件名为按钮name加上Click

end

end

bind(node,scene) --递归绑定

}

end

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...