cocos2dx-lua 加载和绑定ccbi 中对象
cocosbuilder 中的设置 在cocosbuilder中 找到需要绑定的CCMenuItemImage
把code connections 中 设置 为 owner var 并填写自定义对象名 设置一个CCMenuItemImage 叫 close
CCLabelTTF CCScale9Sprite 等其他对象类似 选owner var 并设置 自定义对象名 也可以通过设置tag 可以在lua中通过tag 读取对象
在lua中加载ccbi 并加载指定ccbi中指定的对象进行操作 lua中的代码 加载ccbi方式: proxy= LuaProxy:create() --使用luaproxy 库 新建一个proxy对象 local n = proxy:readCCBFromFile("xxx.ccbi") -- 加载你设置的ccbi文件 local l = tolua.cast(n,"CCLayer") -- 把ccbi转换对cclayer对象 加载此ccbi中各种对象的 方式: 加载各种对象中xxx 指的时 ccbi中其对象的code connections 中 设置 为 owner var 并在后填写的相应对象名称 上图中CCMenuItemImage 叫 close 则加载代码为 --把ccbi中的菜单项转换成lua中的菜单项对象 localmenuItem=proxy:getNode"close","CCMenuItem" --把转换好的菜单项绑定回调事件 proxy:handleMenuEvent(menuItem,function() print("点击了关闭菜单") end) --其他常用的对象的加载方式 xxx为ccbi中自定义的对象名 --把ccbi中定义的CCLabelTTF转换成 lua中CCLabelTTF 对象 local ttf=tolua.cast(proxy:getNode"xxx","CCLabelTTF") --把ccbi中的精灵对象转化成lua的精灵对象 localsprite=tolua.cast(proxy:getNode"xxx","CCSprite") --把ccbi中的菜单对象转换成lua中的菜单对象 localmenu=tolua.cast(proxy:getNode"xxx","CCMenu") --把ccbi中的菜单项转换成lua中的菜单项对象 localmenuItem=proxy:getNode"xxx",function()
end) --把ccbi中的九宫格 转换成 lua中的九宫格对象 localccsprite9=proxy:getNode"xxx","CCScale9Sprite" --把ccbi中的按钮转换成lua中的按钮对象 localccontrol =tolua.cast(proxy:getNode"xxx","CCControlButton") --给转换好的按钮绑定事件 proxy:handleButtonEvent(ccontrol,function(ccontrol,event) -- 按钮的 事件 end,CCControlEventTouchUpInside) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |