Cocos Creator游戏开发实战(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-01 19:07:39

点击下载

作者:满硕泉

出版社:机械工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Cocos Creator游戏开发实战

Cocos Creator游戏开发实战试读:

前言

为什么要写这本书“你可以成为这样的人,如果你热爱你做的事,愿意付出相应的劳动,你终将有所得。你在夜里独自工作,反复思考你所设计和制造的东西,为之花费的每一分钟都是值得的。我敢肯定地告诉你,你的付出是值得的。”——苹果公司的创始人之一史蒂夫·沃兹尼亚克《沃兹传·与苹果一起疯狂》

相信很多移动游戏开发者都有同样的感受,就是累并快乐着,累是因为我们在一个竞争激烈的行业里,快乐则是因为我们在做着自己热爱的事情。相信对于很多移动游戏开发者来说,都有一个忠实的“伙伴”,那就是你所使用的游戏引擎。由于开源的特点和支持Android和iOS两大平台,Cocos引擎成为众多游戏引擎中的佼佼者,与此同时,Cocos引擎团队不断迭代自己的工具链以跟上技术和平台的发展,让工程师可以把更多精力投入到游戏本身的开发上。截至2017年年底,Cocos2D-X在全球拥有超过100万注册开发者,在中国市场占有率为45%,在全球市场占有率为18%,是中国第一、全球第二的手机游戏引擎。

随着网页游戏的发展,轻量化游戏方兴未艾,Cocos引擎团队推出了Cocos Creator开发工具。Cocos Creator是以内容创作为核心的游戏开发工具,在Cocos2D-X基础上实现了彻底脚本化、组件化和数据驱动等特点,实现了一体化、可扩展、可自定义工作流的编辑器,并在Cocos系列产品中第一次引入了组件化编程思想和数据驱动的架构设计,这极大地简化了游戏开发工作流中的场景编辑、UI设计、资源管理、游戏调试和预览、多平台发布等工作,使开发者的精力可以更多地投入到游戏内容的创作上,可以说,Cocos Creator已经成为开发团队进行团队协作开发的最佳选择。

从Cocos Creator发布伊始,作为Cocos引擎的忠实用户,我就一直在关注,当公司要立项一个网页游戏并打算采用全新的引擎开发时,我第一个想到了Cocos Creator,但是项目组出于“想采用更成熟的技术”的考虑,选择了另一个推出时间更长的游戏引擎,结果项目后期的性能优化和一些功能的开发受到了引擎底层的制约,最后以失败告终。同样的例子在行业内我听说的不止一例,为什么我们放着更新、更好的技术不用呢?在经过与同行的讨论和自己的思考后,我觉得可能是受到学习成本和项目经验的影响,大家愿意用更成熟的技术。但是Cocos Creator基于Cocos引擎,本身就是成熟的技术,所以我一直想找机会为Cocos Creator做一些推广,让广大的开发者可以有勇气尝试更好的技术。

写这本书的起因是2018年年初,微信小游戏发布,机械工业出版社华章分社的杨福川老师和我一起聊到微信小游戏教程的话题,因为Cocos Creator在微信小游戏推广伊始就提供了支持,我当时就想到可以借着微信小游戏的“东风”,做一些Cocos Creator相关的教程,同时由于《Cocos2D-X权威指南》第2版已经出版3年多,相关技术需要一次更新,在经过讨论后,我决定写一本介绍Cocos Creator的书。我已经在游戏行业打拼8年,使用Cocos引擎开发过一些上线的项目,经历过一些线上问题,我想把这些经验融入这本书里,可以说,本书是《Cocos2D-X权威指南》的一次全新更新,也是我个人开发经验的一次更新,我很珍惜这次机会。《Cocos2D-X权威指南》已经出版3年多,我个人在这3年间也做了一些事情,我在南开大学完成了MBA的学习,同时我开始跑步锻炼,最近一年多,我参加了三场全程马拉松及两场半程马拉松的赛事,在这个过程中,我发现跑步和写作很像,一开始憧憬和期待,起步后担心自己完不成,到中间渐入佳境,后半程则力不从心和接近极限,直到跑完比赛,你会发现这个过程中的每一步都那么重要,都那么享受。同时,我也希望我的作品可以给读者带来更多的收获,能够让更多的人更好地使用Cocos Creator。

读者对象

·Cocos Creator初级及中级开发者,了解游戏开发的读者;

·没有接触过Cocos Creator,但有过Cocos其他版本开发经验的开发者;

·没有Cocos Creator开发经验,但是有Unity、UE等游戏引擎开发经验的游戏程序员;

·没有Cocos Creator开发经验,但是有其他语言开发经验的程序员;

·游戏开发爱好者;

·相关项目的策划及管理人员。

如何阅读本书

本书分为四大部分:

·第一部分(第1~2章)为准备篇,首先对Cocos Creator的功能、特点和适用场景进行了宏观的介绍,然后介绍了如何搭建跨平台的开发环境。

·第二部分(第3~8章)为基础篇,对Cocos Creator的场景制作、资源管理、脚本编程、UI系统、动画系统和物理系统进行了深入讲解,同时配备了大量的小案例。

·第三部分(第9~11章)为实例篇,讲解了三个游戏案例的开发过程和方法,包括消除类游戏、飞行游戏和棋牌类游戏,旨在让读者深入了解Cocos Creator的基础知识在游戏开发中的实际使用,而且三种游戏分别代表了消除类、纵版射击和棋牌类,可以让开发者深入了解不同类型游戏的开发思想。

·第四部分(第12~16章)为扩展篇,深入介绍使用Cocos Creator开发微信小游戏、扩展插件和SDK、游戏项目优化等高级话题。在此基础上进一步介绍游戏开发和引擎扩展等相关的知识,目的是让读者更加全面地了解Cocos Creator的使用。

如果你是一名对Cocos Creator有一定了解的开发者,可以从第3章开始阅读,而如果你是一个Cocos Creator的初学者,请从第1章开始阅读。

勘误和支持

由于水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。为了方便与大家交流,我专门申请了一个qq讨论群(群号:514376849,验证信息为:cocoscreatorhzbook),大家有与本书相关的问题可以在群中提出,我会及时解答。

为了及时更新本书的项目源代码,我创建了本书的代码仓库,书中的全部源代码可以在GitHub(代码仓库地址:https://github.com/manshuoquan/CocosCreatorBook)中获取,项目的示例代码、本书工程和源代码也会同步更新。

同时你也可在作者的个人技术博客上获得本书的勘误和内容的更新(技术博客地址:https://manshuoquan.github.io)。

如果你有更多的宝贵意见,也欢迎发送邮件至邮箱manshuoquan@sina.cn,期待能够得到你们的真挚反馈。

致谢

感谢Cocos引擎的开发团队,感谢他们为广大游戏开发者开发出一款如此优秀的游戏引擎。感谢每个在GitHub上贡献代码的开发者,因为你们开放分享的精神,才使得这个世界更加美好。

感谢天津大学和南开大学对我的培养,感谢我的老师和同学们,特别是我的编程启蒙老师罗凯先生。

感谢我的老东家天津猛犸科技有限公司,感谢公司给了我进入游戏行业的机会,同时感谢公司对我的锻炼和栽培,使我对游戏开发由“好奇”变成“爱好”。做游戏可能是每个程序员最初的、浪漫的梦想,我有幸能有8年的游戏程序员经历,这8年会是我职业生涯中最难忘的8年,有甜蜜的梦想,有艰辛的汗水,有努力的奋斗,也有苦涩的眼泪。后来,我终于明白了,梦想并不是一定实现了才觉得幸福,追逐梦想的路同样值得享受。

感谢一路走来我工作中遇到的师长和好战友们,和他们并肩作战的日子我终生难忘,我在他们身上学到的东西让我对游戏开发有更深的认识和热爱。

感谢CSDN网站上每一位阅读我文章的网友们,是你们给了我信心,让我一直写下去,我会一直写下去!感谢《Cocos2D-X权威指南》的读者们,你们的支持也是我写作的动力,同时你们的鞭策激励着我进步。

感谢触控科技西南区总经理杨雍和Cocos Creator引擎主程凌华彬为本书写序,感谢Cocos引擎创始人王哲、资深Cocos开发者张磊(无脑码农)、资深Cocos开发者屈光辉(子龙山人)和蚂蚁金服资深工程师王德夫(唯敬)为本书写推荐,感谢资深Cocos开发者杨世玲对本书的帮助。

感谢机械工业出版社华章公司的副总编杨福川老师和编辑李艺老师,感谢二位老师在这一段时间中始终支持我的写作,二位老师的鼓励和帮助引导我能顺利完成全部书稿。可以说没有二位老师的帮助和支持,我不会有勇气写这本书。

感谢我的爷爷和奶奶,他们是我人生的启蒙老师,尽管他们已经离开这个世界,但是我依然能感受到他们对我的支持和爱。

最后感谢我的父母,他们不仅含辛茹苦把我抚养长大,还教给我很多做人的道理,为了他们我要更加努力。

谨以此书献给我最亲爱的家人,以及众多热爱游戏开发和Cocos引擎的朋友们!满硕泉写于中国天津第一部分 准备篇

·第1章 认识Cocos Creator

·第2章 搭建跨平台的开发环境第1章认识Cocos Creator

伴随着过去几年手机游戏市场的火爆,跨平台游戏开发引擎Cocos2D-X(2014年的品牌,现已“进化”为Cocos)得到了快速发展,截至2017年10月,引擎的注册用户已经突破了100万,以45%的占有率在国内市场占据国内游戏引擎市场的头把交椅,从《我叫MT》到《刀塔传奇》,再到《阴阳师》,这些年度游戏都是基于Cocos2D-X引擎开发的。然而,Cocos2D-X的开发者们并未对此满足,他们在引擎易用性和相关工具链上做了很多积极的尝试,2013年引擎团队发布第一款官方编辑器Cocos Studio,但是Cocos Studio由于自身bug和没有实现高效的开发流程等因素并未被开发者广泛接受,很多团队都在自研相关的编辑器和开发工具,直到2016年,引擎团队发布了Cocos Creator。Cocos Creator具有脚本化、数据驱动和高效工作流等特点,具有很强的易用性并且可以提供高效的开发流程,发布后仅用了半年时间,在没有开发者红利的情况下,用户数就已经达到了Cocos Studio上线四年才达到的水平,并获得开发者的广泛好评。本章就带领大家走进Cocos Creator的世界,首先从认识Cocos Creator开始。1.1 什么是Cocos Creator

Cocos Creator是以游戏内容创作为核心的开发工具,它基于Cocos2D-X引擎进行开发,实现了一个一体化、可扩展、可自定义工作流的编辑器,实现了开发的脚本化、组件化和数据驱动等特点,它在Cocos系列产品中第一次引入组件化的编程思想和数据驱动的架构设计,可以完整地实现包括场景编辑、UI设计、资源管理、调试、预览及发布等工作,是游戏开发团队提高开发效率,实现完整工作流的最佳选择,同时由于它便捷的使用规则,也是帮助开发者快速实现游戏Demo的高效开发工具。1.1.1 Cocos Creator的由来

提到Cocos Creator,就不得不提到Cocos2D-X引擎,Cocos2D-X引擎脱胎于Cocos-iPhone引擎,是Cocos2D系列开源引擎的一个分支,也是发展最好的分支。相较于Cocos2D-X由于具有跨平台的特点,尤其是对两大移动操作系统iOS和Android的支持,使得Cocos2D-X受到广大开发者欢迎,截至2018年,Cocos2D-X已经走过了八个年头,在这八年里,市场上基于Cocos2D-X开发的爆款游戏层出不穷:网易游戏的二次元卡牌《阴阳师》、占领海外市场的策略类游戏《列王的纷争》、动作卡牌手游《刀塔传奇》(后更名为《小冰冰传奇》)、火爆一时的《我叫MT》,这些家喻户晓的经典手机游戏都是基于Cocos2D-X开发的。同时,为了更好地为开发者服务,提高开发者效率,Cocos2D-X的引擎团队也在不断完善引擎相关工具链,包括可发布多渠道打包工具AnySDK,缩减了游戏上线前大量接入SDK所需的人力,为大量游戏开发者提供了便捷的渠道接入SDK解决方案;首款编辑器Cocos Studio,使得UI界面的编辑更加方便,同时也探索了引擎的编辑器化。2014年,Cocos2D-X将品牌升级为Cocos,旗下包括Cocos2D-X引擎、Cocos2D-JS引擎、AnySDK工具和Cocos Studio,从单一的引擎发展为产品族。截至2017年底,Cocos2D-X引擎在国内市场以45%的占有率保持领先地位,在竞争更激烈的国际市场有18%的占有率,Cocos2D-X的发展历程如图1-1所示。图1-1 Cocos引擎的发展历史

2016年全新编辑器Cocos Creator发布,取代了之前的Cocos Studio,同时Cocos Creator采用全新的设计思路,它包含了开发一款游戏所需的全部工作流,而且完全实现了脚本化和数据驱动,极大提高了引擎的易用性。同时,Cocos Creator也拥有了全新的标志,如图1-2所示,这个标志是基于Cocos引擎的标志的,也就是那个奔跑的椰子。

Cocos Creator上线后,虽然不像Cocos2D-X引擎和Cocos Studio刚上线时那样拥有用户红利,毕竟很多公司和开发者都已经习惯于自己之前制定的开发工具和工作流,但是Cocos Creator依然得到了迅速发展,并获得开发者的广泛好评。图1-3所示为Cocos Creator用户增长趋势图。图1-2 Cocos Creator的Logo图1-3 Cocos Creator的发展1.1.2 Cocos Creator的组成

通过浏览Cocos Creator程序文件夹的内容可以发现,它主要包括三个部分:编辑器、Cocos2D-X和Cocos2D-JS。

1)编辑器:类似于之前的Cocos Studio和CocosBuilder,编辑器包含场景编辑、UI编辑和动画编辑等功能,同时也有导出等功能,观察整个界面,与其说它类似于之前的Cocos编辑器,不如说它更像Unity3D编辑器。

2)Cocos2D-X:打开Cocos Creator的应用路径,可以发现在“编辑器路径/Resources/Cocos2D-X”目录下有一个Cocos2D-X,不过这个Cocos2D-X严格来说是一个删减版,具体的删减内容可以参考目录下的Readme文件,首先删除了一些对其他平台的支持,目前只支持iOS、Android和Windows;另外,引擎暂时删除了对于Lua库的支持,但是从文档来看,后续应该会添加回来,毕竟作为Cocos引擎最流行的脚本语言,Lua在开发者心中还是有一定地位的;最后就是对于一些无用库和无用类的删减,这个删减版的Cocos2D-X引擎可以在GitHub上下载得到,具体地址是:https://github.com/cocos-creator/cocos2d-x-lite.git。

3)Cocos2D-JS:Cocos Creator上线之初主要是基于JavaScript语言的,而且Cocos Creator完全是用JavaScript编写的,可见JavaScript在Cocos Creator中的分量。Cocos2D-JS也被继承在了Cocos Creator中,和集成的Cocos2D-X一样,Cocos2D-js也是一个删减版,它是为编辑器和最后打包生成的游戏所服务的,正因为有了Cocos2D-js,Cocos Creator才可以提供扩展功能。1.1.3 Cocos Creator的特点

初次接触Cocos Creator,你可能会觉得它只是一个编辑器,它的用途就是替代Cocos Studio或者是CocosBuilder。其实,把Cocos Creator比作另一款流行游戏引擎Unity似乎更加合适,因为Cocos Creator提供的是一套完整的工作流程——从资源导入到场景编辑,再到调试和预览,直到导出和发布,都可以用Cocos Creator完成——这个特点和Unity一样,Cocos Creator可以帮助开发团队建立完整的工作流程,从而使团队中负责不同部分的成员间进行更高效的分工和合作。

Cocos Creator另一个特色就是实现完全的脚本化。脚本语言可以提高团队开发效率,节约开发成本,同时还可以做到项目热更新,所以使用脚本开发游戏中的主要逻辑已经成为各个研发团队的首选,Cocos2D-X引擎也一直对Lua和JavaScript语言有着非常好的支持。而之所以说Cocos Creator特点之一是脚本化,主要是因为通过Cocos Creator可以使用JavaScript开发所有的功能,你不止可以使用Cocos Creator开发游戏逻辑,还可以通过JavaScript编写插件来扩展引擎。

Cocos Creator采用ECS(Entity Component System,实体-组件系统)设计模式,ECS是一个游戏逻辑层的框架,它建立在渲染引擎和物理引擎的基础上,主要解决如何建立一个模型来处理游戏对象的更新操作的问题,著名的《守望先锋》就是采用了ECS架构。

ECS设计模式,其实就是将各种各样的功能点设计封装成组件的形式,然后将这些组件,按需挂载在容器节点上,这些容器节点就是不同的实体,然后通过系统来管理这些实体。表现在Cocos Creator上就是将可重用的组件,用不同的组合方式,挂载到不同的节点上,从而组成各种不同的功能实体。

ECS设计模式提倡用组合代替继承,可以很好地封装和重用功能组件,并且可以轻松地扩展引擎。1.2 Cocos Creator的基本架构和工作流

通过1.1节的介绍,我们可以了解到Cocos Creator并不是简单的编辑器,它包含了游戏引擎、资源管理、场景编辑器、游戏预览和发布工具的全套工具集,和之前发布的Cocos Studio和CocosBuilder不同,它实现了完全的脚本化,并使用ECS模式实现了组件化和数据驱动的方式,本节就介绍Cocos Creator的架构和工作流。1.2.1 Cocos Creator的架构

整体来看,Cocos Creator的技术架构可以分为编辑器层、引擎层和平台层,如图1-4所示。它将所有的功能和工具链都整合到了Cocos Creator应用程序里,在编辑器层中,它不仅包含场景编辑器、属性检查器和资源管理器等编辑组件,还提供了运行预览工具、调试工具、平台导出工具。在引擎层,Cocos Creator集成了精简版的Cocos2D-JS和Cocos2D-X,这样既可以整体获得Cocos引擎之前的成熟功能,又可以通过脚本插件的方式扩展。在平台层,目前Cocos Creator支持两大移动操作系统Android和iOS,开发者可以通过Cocos Creator轻松导出这两个平台的本地安装包,同时Cocos Creator还支持HTML5和其他衍生平台,比如可以导出项目到微信小游戏平台。图1-4 Cocos Creator架构图

Cocos Creator不仅无缝融合了Cocos引擎的JavaScript体系,一方面能够使之前Cocos2D-X引擎的开发者快速适应,另一方面也可以为美术人员和策划人员提供内容创作生产和即时预览的所见即所得环境。同时Cocos Creator提供了开放式的插件架构,开发者可以轻松扩展编辑器,定制个性化的工作流程。1.2.2 Cocos Creator的工作流程

Cocos Creator为开发者提供了完整的工作流程,可以实现包括场景编辑、UI设计、资源管理、调试、预览及发布等工作,如图1-5所示。Cocos Creator将除了资源制作以外的游戏开发全部工作流程集成在了一个开发工具中,这样做的好处,首先是可以让整个开发团队保持在一个工作流之下,提高了开发效率,可以将整个项目用git或者svn等协作工具同步,节约了同步资源和沟通成本;其次是有助于规范团队工作流程,有助于项目管理;最后,对于程序员来说,这样的集成工具也避免了很多不必要的操作,使程序员专注于重要的事情。图1-5 Cocos Creator工作流程

在开发阶段,Cocos Creator已经可以为用户带来巨大的效率提升,然而,Cocos Creator提供帮助的不止是开发层面,对于游戏开发者来说,开发和调试、商业化SDK的集成、多平台的发布测试上线,整套工作流程要经过多次迭代,而且缺一不可,可以说这一部分在上线后将占据工作量的很大部分。说到这里,就不得不提到AnySDK,它是一款为手机游戏开发商提供免费、快速接入第三方SDK一站式解决方案,并采用安全和快速的方法进行本地打包的工具。Cocos Creator集成了AnySDK后,从游戏引擎方面,完善了整个引擎的工作流程,对于开发者来说,AnySDK也会提高开发者的效率,使得游戏更加快速地上线测试。1.2.3 Cocos Creator 2.0版本

相比起Cocos Creator 1.0版本,2.0版本在性能上有了很大提升,它彻底移除了渲染树并重新实现了全新的渲染流程。Cocos Creator 1.0版本的渲染节点树是基于Cocos2D-X引擎的场景结构,2.0版本移除了之前的渲染树并且重新定义了渲染系统,将渲染的数据传递给Scene然后显示出来,从2.0版本开始,建立了性能基线跟踪测试,如图1-6所示为Cocos Creator 2.0版本和Cocos Creator 1.8.2版本的性能对比。

可以发现在所有平台上,2.0版本的性能都有所提高。究其原因,首先是移除了之前的渲染树,减少了中间层次的调用;其次是重新设计了渲染流程,直接使用渲染组件进行渲染,彻底实现了组件化,同时也分离了渲染层和逻辑层,如图1-7所示。图1-6 性能对比图1-7 新的渲染流程

除了性能优化外,Cocos Creator 2.0版还对引擎的初始化流程做了修改,项目脚本代码和项目插件脚本代码都在引擎的初始化之前被初始化,这样可以在项目代码中对引擎和渲染器的加载重新定义,而如果想在1.0版本中实现这个功能,需要在main.js中进行相应的修改,两个版本的引擎加载流程如图1-8所示。图1-8 引擎加载流程对比1.2.4 升级你的项目到Cocos Creator 2.0版本

和每个大版本更新一样,Cocos Creator 2.0的版本也对API进行了很多更新,如果你想把你的项目更新为全新版本的引擎,可能会遇到很多“坑”。

早在Cocos2D-X时代,“升级或者不升级,这是一个问题”就困扰着很多开发者,如果不升级,那么无法获得引擎的最新特性和bug修复;如果升级,则很有可能会由于API或者底层的某些变化造成问题,因此,这里也给出一些升级引擎版本时需要注意的事情或者小技巧:

1)备份你的项目,“升级有风险”,其实不仅是Cocos引擎,Unity引擎也面临着同样的问题,因此每当整体升级项目的Unity版本时,都会提示你把原有的项目备份,这样即使升级过程遇到问题,也不会影响你原有的开发成果。

2)注意Cocos Creator的控制台提示,可以让开发者长舒一口气的是,这一次版本的升级是比较“柔和”的,也就是说,一些API在短期内不会被完全移除,采用了一个过渡的方式,就是对于一些API暂时保留或者一些API在你需要更新时会给出一定提示,如图1-9所示。图1-9 升级API变化提示

3)关注每个版本的升级日志,看看是否有你需要升级的功能,对于一般的小项目或者刚开始不久的项目,升级到最新的引擎版本往往非常简单,但是对于已经上线维护的项目或者开发到中后期的项目,升级会需要很大的成本的。1.3 为何选择Cocos Creator

通过前两节的介绍,我们认识了Cocos Creator,了解到Cocos Creator是一款手机游戏开发工具,不同于之前的Cocos产品族的编辑器,它包括场景编辑、UI设计、资源管理、调试、预览及发布等游戏开发的完整流程,实现了完全的脚本化,并使用ECS模式实现了组件化和数据驱动的方式,那么相对于之前的Cocos2D-X引擎,它有什么优势呢?或者说在什么情况下我们会选择Cocos Creator来代替Cocos2D-X呢?另外比起Unity等引擎,Cocos Creator又有什么优势呢?本节就来介绍如何选择游戏引擎,以及为何选择Cocos Creator。1.3.1 Cocos Creator和Cocos2D-X

Cocos2D-X是一套开源的跨平台游戏开发框架,核心代码采用C++编写,提供C++、Lua和JavaScript三种编程语言接口。引擎中提供了图形渲染、界面、音乐音效、物理、网络等丰富的功能。Cocos2D-X支持iOS、Android、HTML5、Windows和macOS X等系统,侧重在手机原生和HTML5两大领域,并积极向3D领域延伸扩展。在2D移动游戏领域,Cocos2D-X可以说是开发者的首选引擎,截至2017年底,Cocos2D-X在全球的注册开发者超过100万,在中国的市场占有率为45%,在全球的市场占有率为18%,是中国第一、全球第二的手机游戏引擎。

那么同样作为2D手机游戏引擎,Cocos Creator和Cocos2D-X有什么异同,用户又应如何在二者之间做出选择呢?实际上,Cocos Creator和Cocos2D-X是一回事,因为Cocos Creator的引擎层也是采用Cocos2D-X,所以在基本功能、运行效率和开发思路上,二者保持着高度的一致,作为Cocos2D-X的开发者,可以十分轻松地转移到Cocos Creator的开发上来。刚上手使用Cocos Creator时,资深的Cocos2D-X工程师可能会觉得有些功能被删掉了,但是仔细使用一段时间你会发现,这些功能都还在。Cocos Creator基本保留了Cocos2D-X除3D功能以外几乎全部的功能,对于如何选择Cocos2D-X和Cocos Creator,笔者建议从以下几点来考虑。

首先是编程语言,Cocos2D-X可以支持C++、Lua和JavaScript三种编程语言,而目前Cocos Creator只支持JavaScript语言;其次是自由度,直接使用Cocos2D-X进行开发的时候,我们可以通过修改引擎代码轻松扩展引擎的功能,而使用Cocos Creator时我们是使用ECS架构通过编写扩展组件实现引擎的扩展,这种扩展相对于引擎代码级的修改自由度相对要差一些;最后是开发效率问题,Cocos Creator作为一套完整的工具集,肯定会大大提升开发效率,可以将美术人员和策划人员纳入整个工作流当中,更有利于完整工作流的建立。所以从整体角度,首先考虑游戏内容的需求,如果你的项目需要大幅度扩展引擎功能的时候,显然Cocos Creator不是你的最佳选择,但是当你的游戏类型合适,同时你有志于让你的游戏开发团队更有效率地工作,Cocos Creator是一个不错的选择。1.3.2 Cocos Creator和Unity

Unity引擎是Unity Technologies开发的一个让开发者轻松创建游戏的综合性开发工具,是一个全面整合的游戏引擎。类似于Director、Blender game engine、Virtools或者Torque Game Builder等利用交互图形化开发环境为首要方式的软件,Unity可以运行在Windows和macOS X上,可以发布到Windows、macOS X、Wii、iOS、Android、Windows Phone 8和HTML5等平台。Unity引擎以它的快速开发特性,以及跨平台能力为人们所知,并成为3D手机游戏开发者的首选引擎。

为什么要把Cocos Creator和Unity进行比较呢,因为二者的设计理念很相似,都是使用组件化的方式扩展节点,都是使用脚本驱动,包括游戏逻辑和编辑器扩展都是使用脚本。那么如何决定是使用Cocos Creator还是Unity呢?答案很简单,那就是3D游戏选择Unity,2D游戏选择Cocos Creator。

因为Unity引擎虽然提供了2D功能,但是对于2D游戏来说,很多功能需要引入第三方的库才能完成,比如属性动画,Unity本身并没有提供相应的功能接口,需要引入比如iTween这种第三方的插件或者自己开发才能完成相应的功能,另外在2D游戏中我们经常使用的动画工具spine的解析库也要自己引入,使用过程中甚至有一些bug需要自己修改,相比起Cocos Creator的完整集成,Unity显然在2D的支持上无法和Cocos Creator相比,因此当我们需要快速开发2D游戏时,Cocos Creator显然是更加合适的,当然,如果你需要开发一个3D游戏时,目前来看Unity更为合适,但Cocos Creator在2.0版本以后也在扩展3D的功能,不过要想完全取代Unity在技术上还需积累。

相比起Unity,Cocos Creator的另一大优势就是基础的引擎Cocos2D-X是开源的,注意,不是说编辑器是开源的,而是基础的渲染引擎是开源的,当我们需要性能优化或者扩展引擎功能的时候,开源引擎的优势是不可比拟的。1.3.3 学习Cocos Creator需要的知识

游戏开发是一个综合的技术栈,开发游戏需要学习编程语言、平台知识、编辑器使用、算法、设计模式等多种知识,当我们想要使用Cocos Creator时,我们需要学习下面这些知识:

1)编程语言JavaScript:这是Cocos Creator支持的脚本语言,你可以使用JavaScript编写游戏逻辑和扩展编辑器,Cocos Creator中的JavaScript是基于脚本语言的基本语法,并加入了一些特有的规则,作为初学者,你需要同时学习基本语法和本地规则。

2)编辑器的基本使用:开发一款游戏,不只是编写代码,还需要将图片、音乐音效、字体、粒子、地图等资源有效地组织起来,Cocos Creator提供了完善的资源导入和管理的解决方案,你需要在熟悉这些资源的同时学会资源管理的方法。

3)游戏的基本系统:游戏的系统涉及三大模块,UI系统、动画系统和物理系统,这是开发游戏的基础,学习一款引擎的使用,除了编程语言外,最重要的就是对于这三个模块的学习。

4)实战和扩展:学习完基础知识之后,你需要的就是自己动手开发游戏,并且在自己开发的基础上进行性能优化、打包导出等,这些内容都需要建立在开发实战的基础之上。

本书后续的章节将逐步介绍这些知识,基础篇将介绍编程语言JavaScript、编辑器的基本使用和三大基本系统;实战篇会通过三个不同类型的游戏展示Cocos Creator在实际项目的使用;高级篇将介绍高于基础知识的高级知识点。1.4 本章小结

本章介绍Cocos Creator的由来、特征和应用。你需要了解Cocos Creator的特点和基本架构,Cocos Creator是一款手机游戏开发工具,它包括场景编辑、UI设计、资源管理、调试、预览及发布等游戏开发的完整流程,不同于之前的Cocos产品族的编辑器,Cocos Creator实现了完全的脚本化,并使用ECS模式实现了组件化和数据驱动的方式。另外本章还介绍了Cocos Creator和其他引擎的异同以及其他学习Cocos Creator所必备的知识。通过本章的学习,相信你已经为后续的学习做好了准备。第2章搭建跨平台的开发环境

工欲善其事,必先利其器。我们学习Cocos Creator的旅程就从搭建环境开始。

作为一款跨平台手机游戏引擎,Cocos Creator保留着Cocos系列产品一脉相承的传统,既跨平台的特性,Cocos Creator可以运行在macOS X和Windows系统上。这有利于工作流的建立,因为在日常开发中,工程师一般使用macOS X系统,而美术和策划人员一般使用Windows系统,所以跨平台对于一款编辑器来说十分重要,这点相较于Cocos之前的编辑器Cocos Studio和CocosBuilder来说,是很大的进步,因为早期的Cocos Studio只支持Windows系统,这对想使用这款编辑器的工程师们造成了很大困扰,而更早的CocosBuilder只支持macOS X更是让策划人员叫苦不迭。

之前使用Cocos2D-X时,开发流程一般是这样的:在UI编辑器中编辑场景或UI,然后使用sublime编辑脚本语言,或者使用Xcode开发C++代码,调试时一般更多会使用Xcode,少部分使用Windows的工程师会使用Visual Studio进行开发调试,最后根据各个平台的规则编译打包,这个过程十分烦琐,大部分工程师不能将主要精力集中在内容创作上,Cocos Creator的出现改变了这个情况,它几乎可以完成游戏开发的全部工作,从资源的导入到打包发布,都可以在Cocos Creator当中完成,所以相比Cocos2D-X,Cocos Creator的环境搭建要容易许多,也就是说Cocos Creator更容易上手。

本章首先介绍安装引擎需要配置的环境,然后介绍不同平台下的编译运行环境,下面我们就开始搭建跨平台的开发环境。2.1 Cocos Creator的安装配置

在早期的Cocos2D-X时代,“如何安装Cocos2D-X”经常被讨论,但却是一个伪命题,那时来看,提出这种问题应该是还不了解Cocos2D-X是什么。Cocos2D-X是一套程序框架,本身就是代码,本质上是不需要任何安装过程的,但是配置各个平台的运行环境却需要我们付出很多精力,其实这个过程才是很多人所谓的“安装”过程。直到3.0版本,Cocos2D-X提供了很多方便我们操作的python脚本,这些脚本简化了我们的操作,但是我们需要配置一些东西来确保脚本的运行,所以讨论“如何安装Cocos2D-X”才真正成为一个题目。到了Cocos Creator时代,安装变成了真正的运行安装文件,本节在讲解安装过程的同时,也会讲解这个过程实际为你做了些什么。2.1.1 Cocos Creator的运行编译环境

由于Cocos Creator可以同时运行在Windows和macOS X环境下,因此它需要的运行环境如下:

1)macOS X 10.9或者以上;

2)Windows 7 64位或者以上。

需要注意的是,从Cocos Creator 1.3版本开始,Cocos Creator就不再支持32位的Windows操作系统了。2.1.2 Cocos Creator安装过程

首先需要下载安装文件,所有Cocos系列产品都可以通过http://www.cocos.com/download下载,本书成书之时的最新版本为2.0。

在Windows系统下,Cocos Creator的安装文件是一个可执行文件,双击安装文件就可以开始安装了。在安装过程中需要选择安装路径,Cocos Creator设置的默认安装路径是“C:\CocosCreator”,你可以单击修改它。对于部分Windows操作系统和显卡型号,安装过程中可能会提示“This browser does not support WebGL”的报错信息,这是由于你的显卡或者系统的显卡驱动对WebGL渲染模式不支持造成的,你可以用命令行运行安装文件并加上“-disable-gpu”来禁用GPU加速功能来完成安装。

macOS X版本的Cocos Creator安装文件是DMG镜像文件,双击该文件,然后将图标拖入应用程序文件夹或者其他位置就可完成安装过程。首次安装时,系统可能会提示你应用程序来自于不受信任的开发者,此时前往系统偏好设置,并在安全设置中单击“仍要打开”就可以正常使用Cocos Creator安装镜像了。

在Windows和macOS X下完成安装后,双击图标就可以启动Cocos Creator了,我们可以按照习惯设置快速启动方式,在macOS X下通过Dock方式,在Windows下可以使用设置快捷方式的办法。

单击运行后,首先是选择语言,然后就需要进行开发者的登录,如图2-1所示。

登录后就可以创建项目了,至此即完成了安装工作,如图2-2所示。图2-1 开发者登录界面图2-2 启动界面2.2 原生平台的基本介绍和项目导出

目前市面上最常用到的原生的移动平台包括Android平台和iOS平台,其中Android平台由谷歌公司开发,而iOS平台由苹果公司开发,两个平台成为移动端最常见的原生系统的原因不尽相同,Android由于其开源的特点被全世界范围内的手机制造公司广泛使用,而iOS则因为iPhone系列手机的大卖而逐渐流行,本节就来简单介绍两个原生平台和使用Cocos Creator导出两个平台运行项目的方法。2.2.1 Android平台的基本介绍

Android意思是“机器人”,它是Google公司推出的开源手机操作系统,Android基于Linux操作系统,由操作系统、中间件、用户界面和应用软件组成,号称首个为移动终端打造的真正开放和完整的移动软件。

在Android最早发布时,Google公司官方将Java语言作为第三方应用的开发语言,但是也没有完全拒绝C语言的开发人员使用自己的语言进行开发。因为在Android发布初期,Google就表明其虚拟机支持JNI(Java Native Interface,Java本地调用),也就是第三方可以通过JNI调用自己的C动态库,但是最早Google并未为这种方式提供相应的工具。直到2009年6月,Google Android方面发布了NDK(Native Develop Kit,原生态本地开发包),它支持开发者使用C/C++语言开发Android程序。

Android NDK作为Android SDK的一个附加组件提供给开发者,开发者如果想用NDK的功能就必须同时安装SDK和NDK。NDK作为SDK的一个补充,增加了代码的重用性,提高了程序的运行效率,并且使C/C++程序员也可以加入到Android的开发中。本书成书之时NDK更新到android-ndk-r16b版本,由于iOS也支持C++,所以为了同时支持两个平台,Cocos2D-X选择C++作为主要的开发语言,Cocos Creator就是以Cocos2D-X为基础开发的,因此配置Cocos Creator的Android导出环境需要如下开发工具。

1)JDK:Java开发工具(Java Development Kit),下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,下载时注意选择和你的操作系统匹配的版本。

2)Android Studio:Android Studio是一个Android集成开发工具,基于IntelliJ IDEA,用于Android程序的开发和调试。

3)Android SDK:Android开发工具,包括模拟器等工具。

4)Android NDK:Android原生态本地开发包,辅助SDK进行编译开发,支持C/C++。

5)Ant工具:是为了自动构建Android程序用的,Ant是一种基于Java的build工具。理论上来说,它有些类似于UNIX里C中的make,但没有make的缺陷。它的下载地址是http://ant.apache.org/bindownload.cgi,由于是基于Java的,它也是跨平台的,下载后解压到你需要的目录就可以了。2.2.2 iOS平台的基本介绍

iOS操作系统是由苹果公司开发的手持设备操作系统,最早发布于2007年1月9日的Macworld大会上,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple TV等苹果移动操作设备上。

iOS与macOS以Darwin为基础,因此同样属于类UNIX的商业操作系统。原本这个系统取名为iPhone OS,2010年6月7日WWDC大会上苹果公司宣布改名为iOS。截至2011年11月,iOS已经占据了全球智能手机系统市场份额的30%。

Xcode是苹果公司向开发人员提供的集成开发环境,用于开发macOS的应用程序。iOS SDK是iOS系统的开发工具,Xcode允许用户开发可在基于iOS的iPad、iPhone、iPod touch等设备上运行的应用程序,只要有macOS X Snow Leopard 10.6.2以上版本macOS操作系统,便可安装iOS SDK,可以使用iPhone仿真器进行调试或者使用真机进行调试。

在Cocos Creator上开发iOS的应用也要使用Xcode,Xcode的安装文件通过如下地址下载:https://developer.apple.com/technologies/tools/。下载并完成安装后,可以在Xcode中调试iOS项目,并进行打包等工作。2.2.3 原生平台的导出

使用Cocos Creator进行Android开发需要优先配置Android的相关开发包。当我们在使用Cocos2D-X的时候,配置Android的环境是一个烦琐且复杂的过程,在使用Cocos Creator配置Android开发环境的时候,一方面会觉得这些操作似曾相识,另一方面会觉得这个配置过程要简单许多。其实,是Cocos Creator帮我们简化了这个过程,也就是说我们只要输入各个需要配置的工具的地址,Cocos Creator就会帮助我们配置环境变量。

运行Cocos Creator后进入偏好设置,单击原生开发环境,就可以配置Android的导出环境了,如图2-3所示。图2-3 原生开发环境配置界面

对于Android的开发环境,推荐的方式是通过Android Studio进行配置。Android Studio可以通过Android Studio中文网站进行下载,安装后进入偏好设置可以下载SDK和NDK,下载后就可以把地址配置到导出设置当中,如图2-4所示。

点击构建发布就可以导出到支持的平台,目前可以选择的原生平台包括Android、iOS、macOS X和Windows,其中macOS X和Windows只是在相应的操作系统中才出现,构建发布的界面如图2-5所示。

选择一个原生平台后,可以在包名输入框设置包名,通常是产品网站域名的倒序,如com.yourcompany.game。注意包名中只含有字母、数字和下划线,最后一部分只能以字母开头,如果使用的Xcode版本低于7.2,则包名不能含有下划线。图2-4 安卓环境配置

可以选择合并图集中的SpriteFrame将全部的SpriteFrame合并到

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载