[size=4]2.2 用Cocos Console工作流开发网页/原生平台游戏(JSB开发环境简介)[/size]
[size=4]
[/size][font=helvetica neue][color=#333333][backcolor=#ffffff][size=2]应广大同学的对文档的迫切需求,我们抢先 发布 2.2章节,给大家先感觉感觉 有什么意见可以跟帖回复哦。我们会继续改进嗒。[/size][/backcolor][/color][/font]
[size=2]文档github地址[/size][size=2]
[/size]
[size=2]Cocos2d-JS最引以为傲的能力就是完美的一次开发,全平台部署得能力。得益于3.0版中Web引擎和Native引擎的整合,Cocos2d-JS为Web和各原生平台开发提供了一套统一的工作流,开发者只需要关注自己的JavaScript代码,我们提供了Cocos Console工具帮助用户管理开发以及发布的流程。[/size]
[size=2]
[/size]
[size=2]Cocos2d-JS v3.0框架:[/size]
[size=2]
[/size]

[size=2]
[/size]
[size=2]从这张架构图中可以看出,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层,不同平台,不同设备之间的差异被透明化,开发者开发跨平台游戏自然也变得前所未有得简单。[/size]
[size=2]
[/size]
[size=2]Cocos2d-JS引擎所支持的平台包括:[/size]
[size=2]
[/size]
[size=2]桌面浏览器(Chrome, Safari, Firefox, Opera, IE9+)[/size]
[size=2]移动浏览器(Android, iOS)[/size]
[size=2]iOS[/size]
[size=2]Android[/size]
[size=2]Mac OS X[/size]
[size=2]Windows[/size]
[size=4]1. 下载引擎包[/size]
[size=2]
[/size]
[size=2]请前往引擎下载页面下载最新的引擎包。下载完成后包内容如下所示:[/size]
[size=2]
[/size]
[size=2][table=858px][tr][td]目录或文件名[/td][td]内容简介[/td][/tr][tr][td]build[/td][td]包含测试例和MoonWarriors示例的Xcode工程以及Visual Studio工程[/td][/tr][tr][td]docs[/td][td]包含JavaScript代码风格规范,当前发布说明和当前版本升级指南[/td][/tr][tr][td]frameworks[/td][td]包含Web引擎以及Native引擎[/td][/tr][tr][td]- cocos2d-html5[/td][td]Web引擎[/td][/tr][tr][td]- js-bindings[/td][td]Cocos2d-x引擎以及JSB框架[/td][/tr][tr][td]samples[/td][td]示例项目文件夹[/td][/tr][tr][td]- js-moonwarriors[/td][td]MoonWarriors示例项目[/td][/tr][tr][td]- js-tests[/td][td]测试例项目[/td][/tr][tr][td]templates[/td][td]Cocos Console使用的模版[/td][/tr][tr][td]tools[/td][td]工具文件夹[/td][/tr][tr][td]- bindings-generator[/td][td]JSB自动绑定生成工具[/td][/tr][tr][td]- cocos2d-console[/td][td]Cocos Console工具[/td][/tr][tr][td]- tojs[/td][td]JSB自动绑定配置文件以及生成脚本[/td][/tr][tr][td]AUTHORS[/td][td]作者目录,包含所有给Cocos2d-JS项目贡献代码的开发者[/td][/tr][tr][td]CHANGELOG[/td][td]所有历史版本详细改动列表[/td][/tr][tr][td]LICENSE[/td][td]Cocos2d-JS许可协议[/td][/tr][tr][td]README.md[/td][td]Cocos2d-JS项目简介[/td][/tr][tr][td]setup.py[/td][td]Cocos Console的安装脚本[/td][/tr][/table][/size][size=2]
[/size]
[size=4]2. 安装Cocos Console[/size]
[size=2]
[/size]
[size=2]前文提到Cocos2d-JS的API简化和统一,另一方面,我们还通过Cocos Console工具统一了不同平台下的工作流,下面将介绍如何安装和使用Cocos Console完成从工程创建到发布的工作流。[/size]
[size=2]
[/size]
[size=2]引擎包下载完成后,请在控制台中运行setup.py(windows平台用户可能需要先安装python 2.7),这个脚本会添加cocos命令及它依赖的环境变量,在安装过程中,你可能需要提供你的NDK,Android SDK和ANT目录。请注意,如果是升级引擎,同样需要重新运行最新版本的setup.py,以保证cocos命令的引用是最新引擎的。[/size]
[size=2]
[/size]
[size=2]一些有用的链接和安装指引:[/size]
[size=2]
[/size]
[size=2]Python 2.7.6[/size]
[size=2]Android SDK[/size]
[size=2]NDK[/size]
[size=2]
Ant下载与安装:[/size]
[size=2]
[/size]
[list][li][size=2]下载Ant。[/size][/li][li][size=2]将Ant解压到你指定的文件夹。[/size][/li][li][size=2]设置JAVA_HOME环境变量到你的Java路径,ANT_HOME到刚刚解压的文件夹,再将${ANT_HOME}/bin (Unix)或%ANT_HOME%/bin (Windows)加入到PATH中。[/size][/li][/list][size=2] [/size][quote][size=2]// Example: 在命令行中运行或添加到.bash_profile(Mac)[/size]
[size=2]export ANT_ROOT=/usr/local/ant/bin[/size]
[size=2]export JAVA_HOME=/usr/local/jdk1.7.0_51[/size][/quote][size=2] [/size]
[size=4]3. 工程创建[/size]
[size=2]
[/size]
[size=2]使用Cocos Console创建工程非常简单,安装完cocos命令之后,只需要在需要创建工程的目标目录下打开终端或命令行工具,输入下面的命令即可:[/size]
[size=2]
[/size]
[size=2][quote]cocos new -l js ProjectName[/quote][/size]
[size=2]
创建成功之后就会在目标目录下发现ProjectName文件夹,这个工程将可以被发布到所有支持的平台。新创建工程的目录结构与引擎包有一些区别,下面是详细的列表介绍:[/size]
[size=2]
[/size]
[table=858px][tr][td]目录或文件名[/td][td]内容简介[/td][/tr][tr][td]frameworks[/td][td]包含Web引擎以及Native引擎[/td][/tr][tr][td]- cocos2d-html5[/td][td]Web引擎[/td][/tr][tr][td]- js-bindings[/td][td]Cocos2d-x引擎以及JSB框架[/td][/tr][tr][td]- runtime-src[/td][td]项目的各平台工程文件,包含iOS/MacOSX/Android/Windows[/td][/tr][tr][td]res[/td][td]项目资源文件夹,应该用来存储所有图片,音频,字体,动画等资源[/td][/tr][tr][td]src[/td][td]项目脚本文件夹,应该用来存储游戏的所有JavaScript代码[/td][/tr][tr][td]publish[/td][td]该目录初始状态下不存在,当工程以发布模式打包后,会创建该文件夹并保存对应平台的发布包[/td][/tr][tr][td]runtime[/td][td]该目录用来存储调试模式打包的工程执行文件[/td][/tr][tr][td]tools[/td][td]工具文件夹[/td][/tr][tr][td]- bindings-generator[/td][td]JSB自动绑定生成工具[/td][/tr][tr][td]- tojs[/td][td]JSB自动绑定配置文件以及生成脚本[/td][/tr][tr][td]index.html[/td][td]Web工程的主页面,通过本地服务器访问这个页面即可看到游戏效果[/td][/tr][tr][td]main.js[/td][td]游戏入口文件,其中包含游戏初始化代码以及启动代码[/td][/tr][tr][td]project.json[/td][td]工程配置文件,详细配置方法可参考main.js中的注释[/td][/tr][/table][size=2]
[/size]
[size=4]4. 快速开发能力[/size]
[size=2]
[/size]
[size=2]具体的Cocos2d-JS API使用以及开发技巧并不在本章的讨论范围内,但在本章工作流的讨论中需要提到的是,Web平台支持给Cocos2d-JS带来了非常优秀的快速原型和快速开发能力。[/size]
[size=2]
[/size]
[size=2]我们建议开发者在原型阶段甚至开发阶段使用Web平台进行游戏逻辑调试的原因有下面几点:[/size]
[size=2]
[/size]
[size=2]点击即玩,不需要编译,并且修改代码后只需要刷新页面即可看到效果。[/size]
[size=2]浏览器强大的JavaScript调试工具,可以参考Google Chrome DevTools简介,它可以帮助开发者快速定位和解决问题。同时也解决了Xcode和Visual Studio等IDE无法调试JavaScript脚本代码的问题。[/size]
[size=2]更符合JavaScirpt开发人员的习惯。[/size]
[size=4]5. Native平台编译[/size]
[size=2]
[/size]
[size=3]5.1 Cocos Console[/size]
[size=2]
[/size]
[size=2]在Web平台调试完成之后,如果开发者需要将游戏发布到原生平台,那么还需要针对相应平台进行编译调试工作。Cocos Console再次提供了非常便捷并且统一的编译能力,使用cocos compile命令即可将工程编译到不同平台:[/size]
[size=2]
[/size]
[size=2] [/size][code]// 在项目目录下打开终端并执行
// -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[/code]
[size=2] [/size]
[size=2]关于Cocos Console更详细的使用方式,请参考Cocos Console文档。[/size]
[size=2]
[/size]
[size=3]5.2 使用各平台IDE编译[/size]
[size=2]
[/size]
[size=2]在frameworks/runtime-src/目录下,开发者可以找到各平台的工程文件,包括:[/size]
[size=2]
[/size]
[list][li][size=2]proj.ios_mac:可用于Xcode的iOS和Mac OS X项目文件夹[/size][/li][li][size=2]proj.win32:可用于Visual Studio的Windows项目文件夹[/size][/li][li][size=2]proj.android:可用于Eclipse的Android项目文件夹[/size][/li][/list][size=2][size=2]
[/size][/size]
[size=4]6. 项目发布[/size]
[size=2]
[/size]
[size=3]6.1 Mac / Win32平台发布[/size]
[size=2]
[/size]
[size=2]直接运行cocos compile -p mac|win32 -m release即可打包出发布包,运行成功后可以在publish/目录下找到可执行文件。[/size]
[size=2]
[/size]
[size=3]6.2 iOS平台发布[/size]
[size=2]
[/size]
[size=2]运行cocos compile -p ios -m release --sign-identity "iPhone Distribution:xxxxxxxx"使用你自己的发布签名来打包出发布包,结果同样可以在publish/目录下找到。[/size]
[size=2]
[/size]
[size=3]6.3 Android平台发布[/size]
[size=2]
[/size]
[list=1][li][size=2]运行cocos compile -p android -m release --ndk-mode release打包出apk包。[/size][/li][li][size=2]在publish/目录下找到打包出的apk,使用jarsigner工具对该apk添加签名,具体步骤见Google官方文档。[/size][/li][/list]
[size=3]6.4 Web平台发布[/size]
[size=2]
[/size]
[size=2]运行cocos compile -p web -m release既可在publish/目录下生成独立的发布文件夹,将该文件夹部署到你的服务器上,用户即可访问。[/size]
[size=2]
[/size]
[size=2]命令中添加–advance可以开启closure compiler工具高级压缩功能,该模式对代码有一定要求,如果发现打包之后无法正常运行请参考Closure Compiler Advanced Compilation文档。[/size]
[size=2]
[/size]
