Cocos2d-X开发:用Android Studio编译运行Cocos2d 项目

Cocos2d-JS最引以为傲的能力就是完美的一次开发,全平台部署得能力。得益于3.0版中Web引擎和Native引擎的整合,Cocos2d-JS为Web和各原生平台开发提供了一套统一的工作流,开发者只需要关注自己的JavaScript代码,我们提供了Cocos Console工具帮助用户管理开发以及发布的流程。

Cocos2d-JS v3.0框架

从这张架构图中可以看出,Cocos2d-JS对Web平台的支持主要是通过Web引擎Cocos2d-html5做到的,而对Native平台的支持是以Cocos2d-x为核心,通过SpiderMonkey这个JavaScript编译器来执行JavaScript代码,并通过JavaScript绑定技术将其API映射到Cocos2d-x的API上。这两方面的技术从引擎的v2.x时代就已经成熟了,而Cocos2d-JS v3.0首次将两者整合到一起,统一并简化它们的API,真正做到一套代码,全平台运行。这也就是图中的Cocos2d-JS API层,不同平台,不同设备之间的差异被透明化,开发者开发跨平台游戏自然也变得前所未有得简单。

Cocos2d-JS引擎所支持的平台包括

  • 桌面浏览器(Chrome, Safari, Firefox, Opera, IE9+)
  • 移动浏览器(Android, iOS)
  • iOS
  • Android
  • Mac OS X
  • Windows

##1. 下载引擎包

请前往引擎下载页面下载最新的引擎包。下载完成后包内容如下所示:

目录或文件名内容简介
build包含测试例和MoonWarriors示例的Xcode工程以及Visual Studio工程
docs包含JavaScript代码风格规范,当前发布说明和当前版本升级指南
frameworks包含Web引擎以及Native引擎
- cocos2d-html5Web引擎
- js-bindingsCocos2d-x引擎以及JSB框架
samples示例项目文件夹
- js-moonwarriorsMoonWarriors示例项目
- js-tests测试例项目
templatesCocos Console使用的模版
tools工具文件夹
- bindings-generatorJSB自动绑定生成工具
- cocos2d-consoleCocos Console工具
- tojsJSB自动绑定配置文件以及生成脚本
AUTHORS作者目录,包含所有给Cocos2d-JS项目贡献代码的开发者
CHANGELOG所有历史版本详细改动列表
LICENSECocos2d-JS许可协议
README.mdCocos2d-JS项目简介
setup.pyCocos Console的安装脚本

##2. 安装Cocos Console

前文提到Cocos2d-JS的API简化和统一,另一方面,我们还通过Cocos Console工具统一了不同平台下的工作流,下面将介绍如何安装和使用Cocos Console完成从工程创建到发布的工作流。

引擎包下载完成后,请在控制台中运行setup.py(windows平台用户可能需要先安装python 2.7),这个脚本会添加cocos命令及它依赖的环境变量,在安装过程中,你可能需要提供你的NDK,Android SDK和ANT目录。请注意,如果是升级引擎,同样需要重新运行最新版本的setup.py,以保证cocos命令的引用是最新引擎的。

一些有用的链接和安装指引:

  • Python 2.7.6
  • Android SDK
  • NDK
  • Ant下载与安装:

    • 下载Ant
    • 将Ant解压到你指定的文件夹。
    • 设置JAVA_HOME环境变量到你的Java路径,ANT_HOME到刚刚解压的文件夹,再将${ANT_HOME}/bin (Unix)或%ANT_HOME%/bin (Windows)加入到PATH中。

      // Example: 在命令行中运行或添加到.bash_profile(Mac)
      export ANT_ROOT=/usr/local/ant/bin
      export JAVA_HOME=/usr/local/jdk1.7.0_51

环境配置

把上面的软件都下载好了,都安装完了之后。接下来就是配置环境变量了,需要在系统变量中添加如下的几个变量:

1、ANDROID_SDK_ROOT:Android SDK的目录,因为我安装了Android Studio,所以我的目录是C:\Users\XXX\AppData\Local\Android\sdk

2、NDK_ROOT:NDK的目录,比如D:\Dev\IDE\android-ndk-r10d

3、JAVA_HOME:JDK的安装目录,比如C:\Program Files\Java\jdk1.8.0_20

4、CLASS_PATH:%JAVA_HOME%\lib

5、ANT_ROOT:Apache-ant的bin目录,比如:C:\apache-ant-1.9.7\bin

6、PYTHON_ROOT:Python的安装目录,如C:\Python27

最后,就在Path变量中添加下面的变量

%ANDROID_SDK_ROOT\platform-tools%;%NDK_ROOT%;%JAVA_HOME%\bin;%ANT_ROOT%;%PYTHON_ROOT%

之后,需要重启让系统环境变量生效,之后进入cocos源码目录,运行下面的命令:

python setup.py

这个命令会检查系统环境变量,看看AndroidSDK、NDK、ANT等是否存在,之后会自动将cocos添加到环境变量里。重启之后,cocos2d的环境就算配置好了。


##3. 工程创建

使用Cocos Console创建工程非常简单,安装完cocos命令之后,只需要在需要创建工程的目标目录下打开终端或命令行工具,输入下面的命令即可:

JS工程

cocos new -l js ProjectName

LUA工程

进入自己的workspace目录,弹出cmd窗口,运行下面的命令,在当前目录创建一个lua项目,项目名称为HelloCocosLua:

cocos new HelloCocosLua -p com.test.hellolua -l lua -d ./

如果安装好了Android Studio,那么在工程目录,运行下面的命令,编译android工程必要的文件:

cocos compile -p android --android-studio

创建成功之后就会在目标目录下发现ProjectName文件夹,这个工程将可以被发布到所有支持的平台。新创建工程的目录结构与引擎包有一些区别,下面是详细的列表介绍:

目录或文件名内容简介
frameworks包含Web引擎以及Native引擎
- cocos2d-html5Web引擎
- js-bindingsCocos2d-x引擎以及JSB框架
- runtime-src项目的各平台工程文件,包含iOS/MacOSX/Android/Windows
res项目资源文件夹,应该用来存储所有图片,音频,字体,动画等资源
src项目脚本文件夹,应该用来存储游戏的所有JavaScript代码
publish该目录初始状态下不存在,当工程以发布模式打包后,会创建该文件夹并保存对应平台的发布包
runtime该目录用来存储调试模式打包的工程执行文件
tools工具文件夹
- bindings-generatorJSB自动绑定生成工具
- tojsJSB自动绑定配置文件以及生成脚本
index.htmlWeb工程的主页面,通过本地服务器访问这个页面即可看到游戏效果
main.js游戏入口文件,其中包含游戏初始化代码以及启动代码
project.json工程配置文件,详细配置方法可参考main.js中的注释

##4. 快速开发能力

具体的Cocos2d-JS API使用以及开发技巧并不在本章的讨论范围内,但在本章工作流的讨论中需要提到的是,Web平台支持给Cocos2d-JS带来了非常优秀的快速原型和快速开发能力。

我们建议开发者在原型阶段甚至开发阶段使用Web平台进行游戏逻辑调试的原因有下面几点:

  • 点击即玩,不需要编译,并且修改代码后只需要刷新页面即可看到效果。
  • 浏览器强大的JavaScript调试工具,可以参考Google Chrome DevTools简介,它可以帮助开发者快速定位和解决问题。同时也解决了Xcode和Visual Studio等IDE无法调试JavaScript脚本代码的问题。
  • 更符合JavaScirpt开发人员的习惯。

##5. Native平台编译

###5.1 Cocos Console

在Web平台调试完成之后,如果开发者需要将游戏发布到原生平台,那么还需要针对相应平台进行编译调试工作。Cocos Console再次提供了非常便捷并且统一的编译能力,使用cocos compile命令即可将工程编译到不同平台:

// 在项目目录下打开终端并执行
// -p指示目标平台,包括web,ios,mac,android,win32,每次编译请选择其中之一
cocos compile -p web|ios|mac|android|win32

// 除此之外,还可以选择编译模式:-m debug|release
// Web平台还可以添加--advanced来使用Closure Compiler的高级混淆功能对代码进行混淆
cocos compile -p android -m release
cocos compile -p web -m release --advanced

// 将compile命令替换为run即可在模拟器或真机上运行游戏
cocos run -p web
cocos run -p ios

关于Cocos Console更详细的使用方式,请参考Cocos Console文档

###5.2 使用各平台IDE编译

frameworks/runtime-src/目录下,开发者可以找到各平台的工程文件,包括:

  • proj.ios_mac:可用于Xcode的iOS和Mac OS X项目文件夹
  • proj.win32:可用于Visual Studio的Windows项目文件夹
  • proj.android:可用于Eclipse的Android项目文件夹

##6. 项目发布

###6.1 Mac / Win32平台发布

直接运行cocos compile -p mac|win32 -m release即可打包出发布包,运行成功后可以在publish/目录下找到可执行文件。

###6.2 iOS平台发布

运行cocos compile -p ios -m release --sign-identity "iPhone Distribution:xxxxxxxx"使用你自己的发布签名来打包出发布包,结果同样可以在publish/目录下找到。

###6.3 Android平台发布

  1. 运行cocos compile -p android -m release --ndk-mode release打包出apk包。
  2. publish/目录下找到打包出的apk,使用jarsigner工具对该apk添加签名,具体步骤见Google官方文档

###6.4 Web平台发布

运行cocos compile -p web -m release既可在publish/目录下生成独立的发布文件夹,将该文件夹部署到你的服务器上,用户即可访问。

命令中添加--advance可以开启closure compiler工具高级压缩功能,该模式对代码有一定要求,如果发现打包之后无法正常运行请参考Closure Compiler Advanced Compilation文档


官方链接:http://www.cocos.com/docs/js/2-working-environment-and-workflow/2-2-cross-native-browser-game-with-cocos-console/zh.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恋恋西风

up up up

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值