前面已经完成了在win32环境下游戏的开发,现在需要把它移植到android上。cocos2d-x 3.0版本移植起来更简单了,不需要安装cygwin,也不需要编写java代码。

1. 首先编辑proj.android\jni\Android.mk,内容如下:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := cocos2dcpp_shared
LOCAL_MODULE_FILENAME := libcocos2dcpp
# 遍历目录及子目录的函数
define walk
$(wildcard $(1)) $(foreach e, $(wildcard $(1)/*), $(call walk, $(e)))
endef
# 遍历Classes目录
ALLFILES = $(call walk, $(LOCAL_PATH)/../../Classes)
FILE_LIST := hellocpp/main.cpp
# 从所有文件中提取出所有.cpp文件
FILE_LIST += $(filter %.cpp, $(ALLFILES))
LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,2d)
$(call import-module,audio/android)

2. 下载NDK,并配置环境变量NDK_ROOT为NDK根目录。
3. 在proj.android目录下,按住shift+右键,打开命令提示符窗口,输入python build_native.py,编译就开始了,慢慢等待。
如果编译的时候出现:Couldn’t find the gcc toolchain,需要更新NDK,如果不用cygwin,那么3.0要求ndk-r8e以上版本才可以。
4. 编译完成后,打开eclipse,import游戏对应的android项目(proj.android)。右键-项目属性,看到引用了libcocos2dx项目,因为我已经导入了,所以上面看到是绿色的勾。

5.导入libcocos2dx项目,具体路径请查看project.properties文件。

OK,编译运行吧!

到此为止这个游戏demo就告一段落了,很久没写博客了,偷了点懒,这几篇文章就只是把有道云笔记里的学习笔记串了起来,看来以后还是得继续勤写博客啊。

cocos2d-x手游性能优化总结

近段时间在使用cocos2d-x开发2D手游,技术方案使用的是cocos2d-x+lua,因为游戏使用的是cocos2d-x 2.1.5版本,有些优化方案在最新版的cocos2d-x版本已经实现...

阅读全文

cocos2dx-html5 实现网页版flappy bird游戏

我也是第一次使用cocos2d_html5,对js和html5也不熟,看引擎自带的例子和引擎源码,边学边做,如果使用过cocos2d-x的话,完成这个游戏还是十分简单的。游戏体...

阅读全文

【cocos2d-x开发实战 特训99-终结篇】移植到android平台和添加admob广告

上一篇已经完成特性99在win32平台下的开发,现在把它移植到android上,首先修改Android.mk文件,内容如下: LOCAL_PATH := $(call my-dir) include $(CLEAR_...

阅读全文

3 条评论

  1. 你好,看到你的技术博客,非常棒。想问一个关于Cocos2dx的问题,对于存储游戏中的数据信息,Xml 和 CSV文件,哪种更好用,还是它们各自有优势用在不同地方?谢谢!

    1. 存储简单数据使用xml和csv都可以,xml处理较复杂格式的数据比较方便,但速度没csv快。一般来说存储游戏中主要数据使用数据库(如sqlite),其他简单的设置信息使用xml比较多,解析方便。

欢迎留言