最近找到了这个东东,准备集成一下,首先需要pcb这个工程,我在网上下载到了。
准备工作:
1 下载风云的pcb工程
2 下载最新版本的quick-cocos2d-x源码,先运行setup_win.bat,把该设置的环境变量设置好
3 pbc工程放到quick/pbc-master中。
然后打开quick/player/proj.win32的win32工程,把此工程加入进来。
修改
pbc项目, 把原来的根目录指向当前的根目录,然后编译,我是一次性通过了
4 在player项目中添加pbc-master的目录包含,以及pbc.lib的链接项。
5 打开quick\lib\lua_bindings\manual\CCLuaStack.cpp.添加如下代码
#include "..\pbc-master\pbc-lua.h"
在bool LuaStatack::init(void):中添加如下代码
luaopen_cocos2dx_extension_filter(_state);
// pbc add
luaopen_protobuf_c(_state);
再在cocos2dx_extra_luabinding.h后添加
#include "..\pbc-master\pbc-lua.h"
OK,接下来编译libquick库,编译player3。现在我们的quick-player已经支持解析protobuf了
lua以及测试文件
【quick|quick-coco2d-xV3.2 win32下集成风云pcb解析protobuf】在cocosIDE中新建quick 项目。然后把protobuf.lua添加进来,把要测试的proto文件放到res/pb文件夹下
MyApp.lua
function MyApp:run()
cc.FileUtiles:getInstance():addSearchPath('res/')
cc.FileUtiles:getInstance():addSearchPath('res/pb')
self:enterScene('MainScene')
end
在MainScene.lua中添加如下 代码
function MainScene:protoTest()
protobuf.register_file('res/pb/addressbook.pb')
--init data
local person = {
name = "Alice",
id = 123,
phone = {
{ number = "123456789" , type = "MOBILE" },
{ number = "87654321" , type = "HOME" },
}
}--see res/pd/addressbook.proto
local buffer = protobuf.encode("tutorial.Person", person)
--
local t = protobuf.decode("tutorial.Person", buffer)
--print phone number
print(t.phone[1].number)for k,v in pairs(t) do
if type(k) == "string" then
print(k,v)
end
end
end
只要调用此函数就可以看到效果了,最新版quick-cocos2d-x测试通过
推荐阅读
- window下使用protobuf
- 移动开发|cocos2dx之Label实现换行
- cocos2dx|cocos2dx使用节点Node对象的作用,特性和使用的时机
- cocos2dx|关于UIText换行