开发前的几点必要说明:
1、默认您已下载并解压了cocos2dx,并且安装Android Studio和VS。
2、版本:cocos2dx从3.15版本开始全面支持Android Studio,可以使用Android Studio 2.3+ 编辑、编译和调试C++代码。使用cocos2d-x-3.15.1,Android Studio的版本需要升级到2.3+,避免出现问题。
3、编译:只需要通过Android Studio打开 proj.android-studio 文件夹(比如 tests/cpp-empty-test/proj.android-studio ),然后点击 run 按钮就可以在Android设备或者模拟器运行、调试了。很久前的版本,例如cocos2d-x-3.6的版本,是导入eclipse后,运行项目目录proj.android下的build_native.py文件来编译,最后才能在eclipse运行起来。对比现在方便多了。
4、创建解决方案:通过命令行创建,所以方便起见,把命令行写成一个.bat文件,直接运行.bat文件,按照提示输入解决方案名称和包名即可创建。.bat文件如下:
@echo off
set /p projectName=请输入项目名称:
if "%projectName%"=="" goto inputError
set /p packageName=请输入包标示名:
if "%packageName%"=="" goto inputError
cd D:\Cocos2d-x\cocos2d-x-3.15.1\tools\cocos2d-console\bin
python cocos.py new %projectName% -p %packageName% -l cpp -d D:\Cocos2d-x\projects
pause
exit
:inputError
@echo 项目名称或者包标示名不能为空!
pause
注意:其中cocos2dx解压在D:\Cocos2d-x目录下,解决方案存放在D:\Cocos2d-x\projects目录下,具体根据自己的目录修改。
5、运行:可以在win32上用VS开发(本人用的VS2013),然后Android Studio打开解决方案下的proj.android-studio,可以直接run在android设备上运行起来。
6、VS上添加新的类文件的话,注意要选择.h文件和.cpp文件的路径到解决方案的Classes目录,不然默认创建在win32目录下,其他平台运行不起来。同时proj.android-studio\app\jni路径下的Android.mk文件中,也需要添加新的文件路径,如下:
# 方法一:原始方法,一个一个添加
#LOCAL_SRC_FILES := hellocpp/main.cpp \
# ../../../Classes/AppDelegate.cpp \
# ../../../Classes/HelloWorldScene.cpp \
# ../../../Classes/BgScene.cpp
# 方法二:指定几层目录下的cpp文件都添加
#SRC_FILES := hellocpp/main.cpp
#SRC_FILES += $(wildcard $(LOCAL_PATH)/../../../Classes/*.cpp)
#SRC_FILES += $(wildcard $(LOCAL_PATH)/../../../Classes/*/*.cpp)
#SRC_FILES += $(wildcard $(LOCAL_PATH)/../../../Classes/*/*/*.cpp)
#SRC_FILES += $(wildcard $(LOCAL_PATH)/../../../Classes/*/*/*/*.cpp)
#LOCAL_SRC_FILES := $(SRC_FILES:$(LOCAL_PATH)/%=%)
# 方法三:搜索指定目录添加
# 遍历目录及子目录的函数
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)/%=%)
注意:原始方法一,是每添加一个文件都需要添加一个,当非常多文件的时候就很麻烦,所以方法二三是懒惰的方法,修改一次后以后就不用再来这里添加了。
OK,经过以上就可以愉快的开发了!