如何让pomelo支持pomelo cocos2dx-jsb

MAC 下将libpomelo连接到cocos2d-x - 唐衣可俊 - 推酷
MAC 下将libpomelo连接到cocos2d-x - 唐衣可俊
摘要 :借助GYP将libpomelo连接到Cocos2d-x项目并使项目能与服务端成功连接。
配置 :OS X 10.9.4 + Xcode 6.0 + Cocos2d-x-3.2
一、部署GYP(Generate Your Projets)
1、下载GYP项目
终端转到要安装GYP项目的目录后,执行如下命令:
$ svn checkout /svn/trunk/ gyp-read-only
也可以使用
2、打开终端切换至root权限
回车后需要输入本机用户密码(就是电脑登陆密码)。输入时不会有视觉反馈(不会显示出星号)。
3、进入GYP项目目录进行setup
$ ./setup.py install
二、部署libpomelo
1、下载libpomelo项目。
$ git clone /NetEase/libpomelo.git
也可以使用
2、生成libpomelo的Xcode项目。
$ ./pomelo_gyp
$ xcodebuild -project pomelo.xcodeproj
$ ./pomelo_gyp -DTO=ios
$ ./build_ios
编译iOS模拟器端
$ ./pomelo_gyp -DTO=ios
$ ./build_iossim
》 可能出现的错误
Q | 错误提示 :
xcodebuild: error: SDK &iphonesimulator6.1& cannot be located.
A | 解决方法 :
打开build_iossim文件,将模拟器版本改为所需版本。
3、编译运行libpomelo的Xcode项目。
打开生成的 pomelo.xcodeproj 文件,编译运行。
4、打包静态库文件
对libpomelo进行编译后会产生几个静态库文件。如果想要同时针对多平台进行开发,那么可以将针对不同平台的同名静态库文件打包在一起。
编译所生成的静态库文件有以下三种,分别放在如下文件夹的子文件夹中:
libpomelo-&build 下的 libpomelo.a
libpomelo-&deps-&jansson-&build 下的 libjansson.a
libpomelo-&deps-&uv-&build 下的 libuv.a
例如文件libpomelo.a所处的目录结构如下
通过如下命令可以将图片中蓝色选中的两个文件合并打包到新的路径下。
$ lipo -create [filePath1] [filePath2] -output [pathOfNewFile]
静态库文件打包后的效果如下图:
5、对libpomelo删繁就简。
在项目中新建一个 lib 文件夹,将合成的静态库文件统一放进去。对于项目的其他部分,只需保留如下的几个文件夹文件:
libpomelo -& include
libpomelo -& deps -& jansson -& src
libpomelo -& deps -& uv -& include
处理后的目录结构示例如下:
三、将静态库导入Cocos2d-x项目
1、创建一个Cocos2d-x项目
Cocos2d-x项目的创建参考
2、将libpomelo添加到Cocos2d-x项目中
在XCode中右击项目, Add Files to “XXX” ,按下图添加 libpomelo 文件夹:
3、添加静态库文件
点击项目的 Target ,选择 Build Phases 选项卡,找到 Link Binary With Libraries ,
点击 + ,点击 Add Other… ,
将导入的libpomelo项目中三个静态文件添加进去。
4、添加头文件搜索路径
切换到 Build Settings 选项卡,找到 Search Paths 条目,在 User Header Search Paths 和 Library Search Paths 中分别加入3项,分别是libpomelo文件夹下 include , deps -& jansson -& src 和 deps -& uv -& include 这三个文件夹的绝对路径。
可以采用相对路径的方式添加,将以下三行加入``即可:
${PROJECT_DIR}/libpomelo/include
${PROJECT_DIR}/libpomelo/deps/uv/include
${PROJECT_DIR}/libpomelo/deps/jansson/src
${PROJECT_DIR} 是Xcode提供的环境变量,代表项目所在路径。
Tip :为了获取文件夹的绝对路径,先将项目中的文件夹用Finder打开,再将文件夹拖动到终端,即可。
5、添加库文件搜索路径
同样在 Search Paths 条目中,找到 Library Search Paths 项,加入上述三个路径。
在项目中添加一段代码来验证libpomelo已经安装成功。本例所使用的服务器端为
1、运行服务器端
1)下载chatofpomelo-websocket
$ git clone /NetEase/chatofpomelo-websocket.git
2)安装依赖项
$ sh npm-install.sh
3)运行game-server
在终端进入chatofpomelo-websocket项目下的game-server文件夹。执行:
$ node app
2、运行客户端
1)添加头文件
在 HelloWorldScene.cpp 文件中添加头文件
#include &pomelo.h&
2)添加测试代码
在 init() 函数中添加如下代码
/*向服务器请求连接*/
const char * ip = &127.0.0.1&;
int port = 3014; //服务器端chatofpomelo-websocket为客户端提供的连接端口号。
pc_client_t * pClient = pc_client_new();
struct sockaddr_
memset(&address,0,sizeof(struct sockaddr_in));
address.sin_family = AF_INET;
address.sin_port = htons(port);
address.sin_addr.s_addr = inet_addr(ip);
if (pc_client_connect(pClient, &address))
CCLOGINFO(&***** Connection Failed! *****&);
pc_client_destroy(pClient);
CCLOGINFO(&***** Connection Succeed! *****&);
pc_client_destroy(pClient);
代码可参考
3)编译运行项目
若运行项目后在output中输出 cocos2d: ***** Connection Succeed! ***** ,说明libpomelo配置成功。
》 可能出现的错误
Q | 错误提示 :
Undefined symbols for architecture x86_64:
&_FSEventStreamCreate&,
referenced from:_uv__fsevents_init in libuv.a(fsevents.o)
&_FSEventStreamInvalidate&,
referenced from:
_uv__fsevents_close in libuv.a(fsevents.o)
&_FSEventStreamRelease&,
referenced from:
_uv__fsevents_close in libuv.a(fsevents.o)
&_FSEventStreamScheduleWithRunLoop&,
referenced from: _uv__fsevents_schedule in libuv.a(fsevents.o)
&_FSEventStreamStart&,
referenced from: _uv__fsevents_schedule in libuv.a(fsevents.o)
&_FSEventStreamStop&,
referenced from: _uv__fsevents_close in libuv.a(fsevents.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
A | 解决方法 :
针对Mac,在 Build Settings 选项中的 Linking 条目下的 Other Linker Flags 中添加
-framework CoreFoundation
-framework CoreServices
针对iOS,不需要添加上述Flags。
五、参考链接
:讲解十分详细,图文丰富。
:有较大参考价值。
:同样属于官方文档,是链接2的中文版。
:写得比较简洁,把必要的部分都写进去了。
5、迁移到MAC:如果有些意外情况可尝试参考,该文价值量较低。
:官方文档,添加组件的另一种方式,相对比较繁琐。
已发表评论数()
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
没有分页内容
图片无法显示
视频无法显示
与原文不一致当前访客身份:游客 [
当前位置:
pomelo-cocos2d-js
pomelo-cocos2d-js 是
客户端。var&pomelo&=&window.
var&route&=&'gate.gateHandler.queryEntry';
var&uid&=&"uid";
var&rid&=&"rid";
var&username&=&"username";
pomelo.init({
&&&&host:&"127.0.0.1",
&&&&port:&3014,
&&&&log:&true
},&function()&{
&&&&pomelo.request(route,&{
&&&&&&&&uid:&uid
&&&&},&function(data)&{
&&&&&&&&pomelo.disconnect();
&&&&&&&&pomelo.init({
&&&&&&&&&&&&host:&data.host,
&&&&&&&&&&&&port:&data.port,
&&&&&&&&&&&&log:&true
&&&&&&&&},&function()&{
&&&&&&&&&&&&var&route&=&"connector.entryHandler.enter";
&&&&&&&&&&&&pomelo.request(route,&{
&&&&&&&&&&&&&&&&username:&username,
&&&&&&&&&&&&&&&&rid:&rid
&&&&&&&&&&&&},&function(data)&{
&&&&&&&&&&&&&&&&cc.log(JSON.stringify(data));
&&&&&&&&&&&&&&&&chatSend();
&&&&&&&&&&&&});
&&&&&&&&});
function&chatSend()&{
&&&&var&route&=&"chat.chatHandler.send";
&&&&var&target&=&"*";
&&&&var&msg&=&"msg"
&&&&pomelo.request(route,&{
&&&&&&&&rid:&rid,
&&&&&&&&content:&msg,
&&&&&&&&from:&username,
&&&&&&&&target:&target
&&&&},&function(data)&{
&&&&&&&&cc.log(JSON.stringify(data));
授权协议: 未知
开发语言:
操作系统:
收录时间:
更多开发者职位上
pomelo-cocos2d-js 的类似软件:Java,共30个
酷爸联盟的第一个项目,适合2岁以上儿童玩的数独游戏,目前已经告于段落。 KidSudoku 儿童数独 I&m a father of a lovely 4-years old girl. I wanna give her a gift -- a sudoku game, but she is too young to...
Pie Noon 是谷歌发布的一款开源多人 Android TV 游戏。Pie Noon 是一个简单的游戏用于演示多个 Nexus 玩家和 Android TV 设备上同时玩的游戏。支持最多 4 个玩家通过蓝牙控制器和触摸设备玩游戏。该游戏使用 Flat...
最新新闻:
ChaseWhisplyProject 是 Android 手机上的一款打鬼游戏。
相友象棋是一个Andriod游戏,提供让两人用各自的设备在局网内,对下象棋的功能。 相友象棋是相友游戏框架的第一个实现。 相友象棋是一个eclipse工程,并且依赖Node4Android. 它没有android代码,src目录下为空,真...
Text Fiction 是一款有着现代化 UI 的 Z-Machine 翻译器,用来玩 Z-Code 游戏,提供数百个免费的故事下载。
最新新闻:
这是一个简单的安卓游戏——舒尔特表 舒尔特表(shulter)不仅是一个游戏,也是一种注意力训练方法。 逻辑实现上很简单,主要的时间花费在UI上。 花在UI上的时间,主要花在绘制图形和配色上。 本着极简主义的设计...
Overflow 是一个简单但容易让你上瘾的棋盘游戏
最新新闻:
cocos2d-android 是 cocos2d 在 android 平台上的移植版本。
MicroSweeper 是一个J2ME手机上运行的扫雷游戏,界面如下图所示:
Minesweeper 是 Android 平台上的扫雷游戏,游戏截图如下:
使用 pomelo-cocos2d-js 中的任何问题
共有 53 个类似软件
Frogatto 一款复古风格的 2D 横过关游戏,由 Battle for Wesnoth 团队开发。主角是...
Wagic 是一个自制的 C++ 纸牌游戏引擎,支持的平台包括:Android (手机和平板), th...
Four 基于Cocos2d-x框架,并使用MVC架构的棋类游戏 Download .zip Download .tar....
Pie Noon 是谷歌发布的一款开源多人 Android TV 游戏。Pie Noon 是一个简单的游戏用...
Angry Birds中文译名愤怒的小鸟,它是iPhone平台上一款卡通风格的趣味投掷类过关游...
cocos2d-android 是 cocos2d 在 android 平台上的移植版本。...
OpenSudoku是一个简单的九宫格数独游戏。从代码中可以学习到如何在视图中显示表格数...
Android Shapes 是 Android 手机上的一个小游戏,将屏幕中间的图形拖到对应匹配的地...
Wormux是一个仿照百战天虫设计的炮术游戏。 Lawrence Azzoug Moy(全名)在2002年1...
一款建立於Android(G-phone)平台上的RPG GAME(釣魚達人,fishman) 遊戲畫面 故事簡介...
共有 0 人关注 pomelo-cocos2d-jscocos2d-x html5 集成pomelo socket io 客户端
发布者:荔枝890704 免费 关注度:212
cocos2d-x html5 集成pomelo socket io 客户端 本资料共包含以下附件: cocos2d-x html5 集成pomelo socket io 客户端.zip(本资料免费下载)
: 最近更新[Cocos2d-x]Mac下cocos2d-x连接pomelo服务器(未完) - 推酷
[Cocos2d-x]Mac下cocos2d-x连接pomelo服务器(未完)
Polemo的配置这里就不赘述了,Github的wiki很全面。
在此记录一下使用官方的libpomelo配置cocos2d-x 3.1连接pomelo的全部流程。
必备工具:
GYP(Generate Your Projects)
1.去官网下载gpy
svn checkout http:///svn/trunk/ gyp-read-only
cd gyp-read-only
sudo ./setup.py install
3.下载libpomelo
git clone https:
4.使用gyp生成项目,以iOS为例,其他参见
cd libpomelo
./pomelo_gyp -DTO=ios
5.编译生成虚拟机环境
./build_iossim
注意,这里可能会报错,提示找不到sdk6,可以这样编辑build_iossim文件中的参数:
vi build_iossim
然后把其中的
iphonesimulator6.1
换成自己的sdk版本。 比如我是7.1的sdk,则改成:
xcodebuild -project deps/jansson/jansson.xcodeproj -sdk iphonesimulator7.1 -arch i386
xcodebuild -project deps/uv/uv.xcodeproj -sdk iphonesimulator7.1 -arch i386
xcodebuild -project pomelo.xcodeproj -sdk iphonesimulator7.1 -arch i386
6.运行生成的pomelo.xcodeproj项目文件,编译运行。
7.查看build文件夹,在对应目录下已经有编译好的libpomelo.a文件了。
8.使用cocos命令创建一个新项目测试pomelo连接
cocos new hello-pomelo -l cpp
9.配置项目(以iOS为例,其他项目自行参考
把以下内容加到Build Settings中的
User Header Search Paths
里面(LIBPOMELO_ROOT是libpomelo的根目录):
LIBPOMELO_ROOT/include
LIBPOMELO_ROOT/deps/uv/incude
LIBPOMELO_ROOT/deps/jansson/src
添加libpomelo libraries的路径到
Library Search Paths
里(LIBPOMELO_ROOT是libpomelo的根目录),以iOS项目为例:
LIBPOMELO_ROOT/build/Default-iphonesimulator
LIBPOMELO_ROOT/deps/uv/build/Default-iphonesimulator
LIBPOMELO_ROOT/deps/jansson/build/Default-iphonesimulator
添加以下linker flags到
Other Linker Flags
10.一些测试代码
参考文档:
已发表评论数()
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
没有分页内容
图片无法显示
视频无法显示
与原文不一致

我要回帖

更多关于 cocos2d x pomelo 的文章

 

随机推荐