Cocos2d-x游戏工程中文字库的解决方案

准备条件:

1、JDK7(一般都自带JRE7了)以及JRE7。

2、VS 2013(如果想要在PC上运行的话,需要安装)。

3、NDK-r9(注意32位和64位)。

4、Eclipse。

5、Android SDK以及ADT插件。

6、Cygwin(最好是最新版)。

7、Python2.7。

8、Cocos2d-x-2.2.5。

9、一个cocos2d-x游戏项目(airplaneward.rar这个源码不能给)。

10、Iconv字库(见附件iconv.rar,附件超过2M了,不能上传,有需要的朋友Q我)。

第一步:将airplaneward.rar解压到Cocos2d-x-2.2.5/projects目录下。

第二步:将iconv.rar解压到Cocos2d-x-2.2.5目录下。

第三步:新建Android.mk文件到解压后的iconv中,代码如下:

LOCAL_PATH:= $(call my-dir)

#libiconv.so

include $(CLEAR_VARS)

LOCAL_MODULE := iconv_static

LOCAL_MODULE_FILENAME := libiconv

LOCAL_CFLAGS := -Wno-multichar \

-DAndroid \

-DLIBDIR="c" \

-DBUILDING_LIBICONV \

-DIN_LIBRARY

LOCAL_SRC_FILES := libcharset/lib/localcharset.c \

lib/iconv.c \

lib/relocatable.c

LOCAL_C_INCLUDES += $(LOCAL_PATH)/include \

$(LOCAL_PATH)/libcharset \

$(LOCAL_PATH)/lib \

$(LOCAL_PATH)/libcharset/include \

$(LOCAL_PATH)/srclib

include $(BUILD_STATIC_LIBRARY)

第四步:打开Eclipse,导入依赖工程:cocos2d-x-2.2.5\cocos2dx\platform\android\java。

第五步:将airplaneward目录下的android工程导入。

第六步:修改jni中的Android.mk,如下:。

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := cocos2dcpp_shared

LOCAL_MODULE_FILENAME := libcocos2dcpp

LOCAL_SRC_FILES := hellocpp/main.cpp \

../../Classes/AppDelegate.cpp \

../../Classes/HelloWorldScene.cpp\

../../Classes/airplane.cpp\

../../Classes/bullet.cpp\

../../Classes/bomb.cpp\

../../Classes/addPlane.cpp\

../../Classes/prop.cpp\

../../Classes/popupDialog.cpp\

../../Classes/LogIn.cpp\

../../Classes/gameover.cpp

LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../Classes\

LOCAL_C_INCLUDES += \

$(LOCAL_PATH)/../../../../iconv/include \

$(LOCAL_PATH)/../../../../iconv/libcharset \

$(LOCAL_PATH)/../../../../iconv/lib \

$(LOCAL_PATH)/../../../../iconv/libcharset/include \

$(LOCAL_PATH)/../../../../iconv/srclib \

$(LOCAL_PATH)/../../../../iconv

LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static

LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static

LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static

LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static

LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static

LOCAL_WHOLE_STATIC_LIBRARIES += iconv_static

include $(BUILD_SHARED_LIBRARY)

$(call import-add-path,D:/cocos2d-x-2.2.5)

$(call import-add-path,D:/cocos2d-x-2.2.5/cocos2dx/platform/third_party/android/prebuilt)

$(call import-module,cocos2dx)

$(call import-module,cocos2dx/platform/third_party/android/prebuilt/libcurl)

$(call import-module,CocosDenshion/android)

$(call import-module,extensions)

$(call import-module,external/Box2D)

$(call import-module,external/chipmunk)

$(call import-module,iconv)

第七步:配置工程中的参数。右键工程-->Properties-->Buliders-->选择右边窗口中的New_Builder,如图7-1(实际情况还得根据你导入的游戏工程):

双击这个“New_Bulider”,参考图7-2中的配置:

这里主要是对main标签作配置,其它标签可忽略或者根据你的喜好配置一下也行,我觉得没什么影响。

再接着,把C/C++ Builder也修改一下,如图7-3:

第八步:如果你的环境没有配置好的话,是不能顺利编译的。请检查你的NDK环境变量、Cocos2d-x环境变量以及Cygwi\home\用户名下的.bash_profile文件的修改,主要是添加两行代码:

NDK_ROOT=/cygdrive/d/eclipse-java-indigo-win32/eclipse/android-ndk-r9

export NDK_ROOT

上面的NDK_ROOT名字可自己取名,使用时名字一致即可。

第九步:Clean工程,等待编译出错吧!呵呵。因为每个人的实际环境不太一样,出错总是难免的,遇到错误不用着急,根据错误信息解决问题即可。其中印象最深的是报std有一个成员函数不可用,只要加个头文件就行,名字记不全了,是一个运算头文件,大家遇到错误的时候百度即可。

第十步:编译完成后,导出APK,完工!

如有疑问可联系QQ:250215260

时间: 2024-10-10 05:29:37

Cocos2d-x游戏工程中文字库的解决方案的相关文章

Oracle工程建设行业解决方案

为何选择Oracle工程建设行业解决方案? Oracle为工程建设企业提供一套全面.开放且集成的业务管理软件.服务器和存储解决方案.这些解决方案经过集成设计,能够实现卓越性能,从而优化业务的方方面面. 简化机会管理 Oracle销售管理 Oracle项目成本核算 了解有关用于简化机会管理的Oracle工程建设行业解决方案的更多信息 管理收尾与运作 Oracle财务管理软件 Oracle网上应收账款 Oracle项目成本核算 Oracle项目开票 Oracle人力资源 Oracle自助式人力资源

在Eclipse的kepler中运行OSGI工程出错的解决方案

今天学习OSGI的过程中按照书上所述搭建好第一个helloworld插件工程,运行的过程中出现下面所示的错误: !SESSION 2014-06-09 21:04:49.038 ----------------------------------------------- eclipse.buildId=unknown java.version=1.6.0_35 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, A

一步一步教你用Swift开发俄罗斯方块:No.1 建立你的第一个Swift游戏工程

原文地址:https://www.bloc.io/tutorials/swiftris-build-your-first-ios-game-with-swift#!/chapters/677 好了,我们正式开始我们的swift游戏开发! 首先,需要新建一个工程,熟悉iOS开发的童鞋应该对这个步骤不会陌生.我们还是一步一步来吧: 这里有两种途径建立全新的工程,你可以: 如果你的Mac没有运行Xcode,请打开它,然后在欢迎页面点击Create a new Xcode project 这里我还是要重

Android Studio更改工程名异常解决方案 :can't rename root module

在修改Android Studio 中 project的名字时 ,提示 “can’t rename root module”. 这是因为Android Studio只能修改根目录内的所有文件,要修改project根目录名字,只能关闭Android Studio 在操作系统中修改文件夹名字. 具体步骤: 1.关闭Android Studio. 2.直接在操作系统中修改好名字. 3.重新import 新名字([NewName])的工程,这样就可以了,相当简单. 其实重新import后,Android

单机游戏计时器防作弊解决方案

一.作弊方法描述    一些游戏会在某些情况下让玩家等待一段时间,例如candy crush中游戏失败会消耗一点体力,体力不满时,会每隔30分钟涨一点.体力耗尽时就无法再进行游戏,此时玩家可以修改系统时间,调到未来的时间,再回到游戏中,体力就会涨满了.游戏的这种控制就失效了. 原理:当消耗一点体力时,游戏会记录一个时刻t1,等到当前时刻为t1+30分钟时,就会加上一点体力.如果把系统时间调后半个小时,那就不需要等待直接回复体力了. 二.解决思路1.通过开机运行时间计算开机时刻    ios和an

在Eclipse中运行OSGI工程出错的解决方案

今天学习OSGI的过程中按照书上所述搭建好第一个helloworld插件工程,运行的过程中出现下面所示的错误: !SESSION 2014-06-09 21:04:49.038 -----------------------------------------------eclipse.buildId=unknownjava.version=1.6.0_35java.vendor=Sun Microsystems Inc.BootLoader constants: OS=win32, ARCH=

Android下Cocos2d创建HelloWorld工程

最近在搭建Cocos2d的环境,结果各种问题,两人弄了一天才能搞好一个环境-! -_-!! 避免大家也可能会遇到我这种情况,所以写一个随笔,让大家也了解下如何搭建吧- 1.环境安装准备 下载 tadp-xxxx-windows.exe,下载地址:https://developer.nvidia.com/tegra-android-development-pack 表扬一下nvidia公司的雷锋做法,这个安装包集成了所有工具,这样就不需要我们再一个个去下载安装了,一键安装,全部搞定!注意安装的时候

锐动SDK针对游戏直播提出的解决方案

方案架构 PC端视频直播与录播功能为游戏厂商宣传,玩家个人秀,大型电竞赛事提供完美的技术解决方案. 直播形式灵活多变不,同音源的选择,画面切换,游戏中嵌入摄像头丰,富解说画面.突出主播个人魅力与粉丝形成强烈共鸣. 应用场景扩展 点击立即体验(锐动SDK解决方案) 原文地址:https://blog.51cto.com/14060673/2365492

cocos2d 小游戏

今天写了一个小游戏,发现看过的代码自己来写还是会经常出错,还是要多自己动手写写哈. 先上几张游戏界面图 void HelloWorld::addTarget() { //首先初始化精灵 CCSprite *pTarget = CCSprite::create("Target.png"); CCSize winSize = CCDirector::sharedDirector()->getWinSize(); //计算可绘制的范围 int minY = pTarget->ge