cocos2dx-lua 加载和绑定ccbi 中对象

前端之家收集整理的这篇文章主要介绍了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)

猜你在找的Cocos2d-x相关文章