quick|quick-coco2d-xV3.2 win32下集成风云pcb解析protobuf

最近找到了这个东东,准备集成一下,首先需要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测试通过


    推荐阅读