COCOS2DX在Android Studio环境下的部署-迁移及开发
概述:
COCOS2DX是一款非常流行的游戏开发引擎。其基于MIT开源协议,将OpenGL ES进行了封装,使得开发者能够非常方便地上手使用,大大缩短了游戏开发的时间。而且,凭借这免费易用,灵活高效的特性,吸引着大量开发者。
相信如何在移动开发中,嵌入COCOS2DX引擎是很多游戏开发者感兴趣的话题,本文将引导读者一步步地在Android Studio中搭建COCOS2dx开发环境,帮助读者在COCOS上进行游戏开发迈出第一步。
背景知识:
COCOS2DX现在支持多种语言,包括C++,lua,js等。为了平台的通用性,通常会选择用C++版本的COCOS进行开发。因为iOS平台和Android平台都同时支持C++语言,选择C++进行开发,将来在不同平台间的代码可以通用。
生成COCOS的C++版本:
根据COCOS的手册新建一个COCOS工程:cocos new projectname -p packagename -l language -d targetfolder
示例:cocos new mycocos -p com.vincent.li -l cpp -d ~/desktop
确保运行以上命令行前,环境变量已配置完成。否则,请到Cocos文件夹下运行。
Android Studio中引入COCOS:
这里通过jni的方式引入AS中:
1. 通过AS打开新建的COCOS工程:
2. 在build.gradle文件中,引入外部native code:
添加代码:
externalNativeBuild {ndkBuild {path 'jni/Android.mk'
}
}
3. 确保在Android.mk文件中有COCOS的文件目录及源文件路径,示例:
LOCAL_PATH := $(call my-dir) JNI_PATH:=$(call my-dir) include $(CLEAR_VARS) $(call import-add-path,$(LOCAL_PATH)/../../../cocos2d) $(call import-add-path,$(LOCAL_PATH)/../../../cocos2d/external) $(call import-add-path,$(LOCAL_PATH)/../../../cocos2d/cocos) $(call import-add-path,$(LOCAL_PATH)/../../../cocos2d/cocos/audio/include) $(call import-add-path,$(LOCAL_PATH)/../../../Classes) ifeq ($(COCOS_SIMULATOR_BUILD),1) LOCAL_ARM_MODE := arm endif LOCAL_MODULE := mycocos LOCAL_MODULE_FILENAME := libmycocos LOCAL_SRC_FILES := hellocpp/main.cpp hellocpp/AppDelegate.cpp \ hellocpp/HelloWorldScene.cpp LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../Classes LOCAL_STATIC_LIBRARIES := cocos2dx_static LOCAL_STATIC_LIBRARIES += pianoplan_static LOCAL_STATIC_LIBRARIES += pianoplan_android include $(BUILD_SHARED_LIBRARY) include $(JNI_PATH)/../../../Classes/Android.mk $(call import-module,.)
最后,build工程,可以看到cocos的源代码被引入工程中,至此可以实现在Android Studio中对COCOS代码进行调试。
环境搭建完成。
可能遇到的其他问题:
编译过程中,报错:make e=87
这个错误是由于在windows环境下,命令行字符数超出系统限制导致编译失败。
可在Application.mk和Android.mk中分别加入:APP_SHORT_COMMANDS := true和LOCAL_SHORT_COMMANDS := true来解决这个问题。
编译过程会变得较为缓慢,需耐心等待。