cocos2dx mac下环境搭建

本来之前没有用过Xcode,而对Visual Studio很有好感,网上也说IDE来说,VS是完爆Xcode的。可惜公司用的是Mac电脑,虽然尝试过使用虚拟机,可惜磁盘空间太小,装完vs后虚拟机已经占了70G,而且编译性能、ios/android调试、环境转换等等都有不足,最后还是直接用Xcode来搞了。

一、下载组件

cocos官网http://www.cocos.com/download上下载资源,包括cocos studio(用于场景设计、布局、动画等,可以将设计与编码分开,提高效率)cocos framework(我使用时最新是3.9版本的)

二、生成工程

Xcode直接从Appstore上下载,不再赘述。将cocos framework解压后,到cocos2d-x-3.9/tools/cocos2d-console/bin目录下执行如下命令,新建工程:

./cocosnew HelloWorldDemo -p com.coco2dx.org -l cpp -d ~/Desktop

参数说明:

  • HelloWorldDemo为项目名称
  • -p后面接包名
  • -l后面接开发语言类型,有cpp,lua,js三种类型
  • -d后面接项目存放的目录

执行完成后,在Desktop目录下,会新建HelloWorldDemo的工程目录

里面有跨平台所使用的各种工程目录,我们主要使用的是proj.ios_mac——ios平台,proj.android/proj.android-studio——android平台,proj.androideclipse工程,proj.android-studioandroid-studio工程。我习惯使用as,不过需要比较新的cocos版本才会生成这个目录。

进入proj.ios_mac,直接打开HelloWorldDemo.xcodeproj文件,就可以编译执行

三、安卓环境配置

1、普通配

我们使用cocos,除了因为对开发过程进行了封装,可以提高开发效率外,对跨平台的支持也是一个很重要的原因。现在就将刚才的工程使用android studio进行编译打包,生成android上可执行的工程。

sdkndk的安装,网上资料一大堆,就不详细描述了。注意在android studio中进行配置就可以了。

使用android studio将刚才的proj.android-studio目录导入工程File->new->import project。然后直接在AS中编译是不行的,ndk部分的编译需要使用命令行,在terminal中执行:

~/cocos2d-x-3.9/tools/cocos2d-console/bin/cocoscompile -p android --android-studio

自动调用ndk-build进行编译ndk部分(需要时间比较久,每次编译会需要编译cocos的工程部分,如果之前有其他工程编译过,可以直接目标文件copy过来),调用gradle编译apk。

编译完成后,就可以直接运行了。

2、进阶配置

自动生成jni/Android.mk比较弱,有新增的c++文件需要手动添加

LOCAL_SRC_FILES:= hellocpp/main.cpp \

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

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

所以,网上找了一个可以自动将目录下所有文件包含的mk文件

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := cocos2dcpp_shared

LOCAL_MODULE_FILENAME := libcocos2dcpp

#widcard为扩展通配

#遍历目录和子目录

define walk

$(wildcard $(1)) $(foreach e,$(wildcard $(1)/*),$(call walk,$(e)))

endef

#遍历路径Classes下得目录和子目录文件,并存入ALLFILES变量中

ALLFILES = $(call walk,$(LOCAL_PATH)/../../../Classes)

#ALLFILES目录中提取文件,并存入FILE_LIST

#.ccLinux/Unix下为C++文件认扩展名,.cpp一个意思

#.c 因为我要用到sqlite3.c

FILE_LIST := hellocpp/main.cpp

FILE_LIST += $(filter %.cpp,$(ALLFILES))

FILE_LIST += $(filter %.c,$(ALLFILES))

FILE_LIST += $(filter %.cc,$(ALLFILES))

#搜索Classes下的子目录文件

FILE_INCLUDES += $(shell find $(LOCAL_PATH)/../../../Classes -type d)

#根据搜索到的文件 编译资源文件

LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)

#提供搜索文件的路径

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

$(FILE_INCLUDES) \

LOCAL_STATIC_LIBRARIES := cocos2dx_static

include $(BUILD_SHARED_LIBRARY)

$(call import-module,.)

$(call import-module,network)

#$(call import-module,editor-support/cocosbuilder)

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...