COCOS2DX在Android Studio环境下的部署-迁移及开发

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来解决这个问题。
    编译过程会变得较为缓慢,需耐心等待。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值