由於Quick-cocos2d-x新版本的變化,之前集成pbc到x-player的方法已不適用。
大綱:
本例使用工具的版本
pb文件生成腳本編寫
pbc項目簡易修改
集成到相關平台:
集成到win的x-player
項目pbc使用方法
1 本例使用工具的版本
quick-cocos2d-x-2.2.1-rc
protoc-2.4.1-win32
2 使用protoc生成腳本
下載protoc-2.4.1-win32.zip 解壓到存放proto文件的目錄,在存放proto文件的位置編寫生成protobin的腳本,本例使用win腳本bat. pbcreate.bat 內容如下:
1 @echo off 2 set DIR=%~dp0 3 cd /d "%DIR%" 4 setlocal enabledelayedexpansion 5 for /r %%i in (*.proto) do ( 6 set pbname=%%i 7 set pbname=!pbname:~0,-5!b 8 protoc -I %DIR% –descriptor_set_out !pbname! %%i 9 ) 10 echo "finished"
注意:一定要使用2.4.1版本的protoc,新版本無法使用descriptor_set_out命令
3 pbc項目修改
下載pbc項目,https://github.com/miaodadao/pbc
修改項目,把pbc-lua.c(此文件路徑:binding\lua\pbc-lua.c)引入工程
編寫pbc-lua.h頭文件如下
1 #else /* use a DLL library */ 2 #define LUA_EXTENSIONS_DLL 3 #endif 4 #if __cplusplus 5 extern "C" { 6 #endif 7 #include "lauxlib.h" 8 int LUA_EXTENSIONS_DLL luaopen_protobuf_c(lua_State *L); 9 #if __cplusplus 10 } 11 #endif 12 #endif
在pbc-lua.c中添加#include “pbc-lua.h”
4 集成到win的x-player
打開quick-cocos2dx 項目的quick-x-player_2012.sln解決方案,集成到win的x-player:
參考:http://cn.quick-x.com/?p=253 Step 6: 編譯 quick-x-player proj.win32 工程
保證當前player功能能夠編譯,我的環境是vs2012,接下來再導入pbc項目,步驟如下:
首先嘗試在player的解決方案中添加現有項目,選擇pbc項目下 pbc.vcxproj 文件,如果編譯不正常則考慮自己新建空項目,然后在項目中導入pbc項目的所有源碼,其項目屬性配置可以直接參考player解決方案中 lua_extension_201x 的屬性配置
導入的pbc.vcxproj 項目后,要保證pbc.vcxproj 中包含進來pub-lua.h
接下來修改quick-x-player_201x項目屬性:右鍵quick-x-player_201x項目>>屬性>>通用屬性>>添加新引用>>選擇剛導入的pbc項目>>確定
修改quick-x-player_201x項目的CCLuaStack.cpp ,導入pbc的lua接口。
添加pub-lua.h這個頭文件,根據自己項目位置調整導入路徑:
在CCLuaStack.ccp的bool CCLuaStack::init(void)函數中luaopen_cocos2dx_extra_luabinding(m_state);后添加luaopen_protobuf_c(m_state);
同時在#include "cocos2dx_extra_luabinding.h"后添加#include "pbc-lua.h"
編譯完成后pbc就集成到了x-player中
例子以后再寫^_^
參考:
雲風pbc的用法:http://www.cnblogs.com/ghost240/archive/2013/08/12/3253092.html
本例使用的項目位置:https://github.com/miaodadao/pbc
框架Quick-cocos2dx官網:http://cn.quick-x.com/
pb文件生成工具:https://code.google.com/p/protobuf/downloads/list ,本例下載:protoc-2.4.1-win32.zip