--[[@H_404_1@
@param widget 从json解析出来的uiwidget@H_404_1@
@param scene 要绑定到的对象(注,是对象,不是类)@H_404_1@
self.pWidget = GUIReader:shareReader():widgetFromJsonFile("res/display/display.json")@H_404_1@
bind(self.pWidget,self)@H_404_1@
@H_404_1@
执行绑定之后,可以使用self.btnName来访问有name属性的对象(不知道是否需要tolua.cast为目标类型)@H_404_1@
在被绑定到的对象的类中,如果有对应的click方法,则会自动绑定例如MainScene:btnNameClick@H_404_1@
]]@H_404_1@
function bind(widget,scene)@H_404_1@
local node = nil@H_404_1@
CCARRAY_FOREACH(widget:getChildren(),node)@H_404_1@
{@H_404_1@
if (node:getName() ~= nil and node:getName() ~= "") then@H_404_1@
scene[node:getName()] = node --字段绑定,只要有name的就绑@H_404_1@
if type(scene[node:getName() .. "Click"]) == "function" then@H_404_1@
node:addTouchEventListener(handler(scene,scene[node:getName() .. "Click"]) --事件绑定,约定事件名为按钮name加上Click@H_404_1@
end@H_404_1@
end@H_404_1@
bind(node,scene) --递归绑定@H_404_1@
}@H_404_1@
end@H_404_1@