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)

相关文章

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