ActionScript
TypeScript
JavaScript

LayaAir引擎快速上手指南【新手必读】

发布时间:2017-01-11

     对于很多新手开发者而言最大的问题,就是学习思路。面对一项新的技术,如果不知道如何下手,这才是最头痛的。本文提供一些自学的思路,抛砖引玉以作借鉴,自学能力强的开发者可跳过本文,直接查看官网引擎示例与API。

 

第一步:选择开发语言

由于LayaAir引擎支持ActionScript3(AS3)、TypeScript(TS)、JavaScript(JS)三种语言开发,到底用哪种语言更好呢?常常困惑着刚接触引擎的新手们。其实开发者更熟悉哪种语言就采用哪种语言开发即可,引擎的API与性能都是完全一样的。


讲到这里,还是忍不住要推荐一下AS3,为什么呢?相比于JS而言,AS3语言的项目维护、管理、多人协作等成本较低,适合大型游戏项目的开发。而JS语言虽然上手快,入门更简单,但是在大型游戏的后期维护上,成本较高。因此如果在未来有开发大型游戏的可能,建议一开始就放弃选用JS语言进行开发。而相对于TS语言而言,AS3又有什么优势呢?AS3是三种语言里,唯一支持在发布HTML5版本的同时,发布Flash版本的语言。如果游戏有在PC浏览器上运营的需求,在HTML5支持不好的浏览器中自动切换到Flash版可以解决浏览器的不兼容性问题。


除了上面这段理由之外,那就是,引擎最原始的版本是AS3语言,JS引擎版本是通过LayaCompiler编译器生成,TS引擎版本是在JS引擎库的基础之上调用。从引擎结构来讲,AS3版本的引擎结构最为清晰,另外,如果未来想深入了解引擎层,或在查找某些深层次问题或BUG的时候,AS3环境下调试与查错非常的方便。而JS由于是弱类型语言,在中大型项目下查找问题是非常痛苦和消耗时间的。即便是TS版本,由于最终还是要在JS引擎包里去查,同样面临着JS语言的问题。如果你不能保证自己写的代码出错机率极低的话,再次推荐采用AS3语言进行开发。


最后,大家不要对语言的选择有什么畏惧,因为只需要学一下语言的基本规则即可。因为在游戏开发的过程中,引擎提供的API能完全满足开发游戏的需要,不需要去学习语言自身的API用法,这里尤其是指AS3,其原生的API不需要学习,了解引擎API即可开发游戏。各位开发者可根据项目需要,去选择LayaAir引擎支持的任何一种语言开发。

 

 

第二步:准备好开发环境

如果是TS和JS开发者,仅下载LayaAir IDE即可,因为LayaAir IDE集成了代码编写调试、UI编辑、动画编辑、粒子编辑等可视化游戏开发环境。如果是AS3开发者,在代码编写的工具方面,推荐采用更为成熟的FlashDevelop或者是Flash Builder。这两种工具是主流的AS3代码编辑器,从语法纠错等方面Flash Builder更加强大,支持MAC苹果系统,但是工具安装包非常大,且属于收费软件。FlashDevelop比较轻量,仅有几十兆,是免费软件,不过苹果系统下需要借助付费软件CrossOver才可以运行。


由于采用TS或AS3语言开发都需要配置编译器环境,在发布产品的时候把项目代码编译为JS代码运行,所以这两种语言的开发者,还需要进行一些额外的准备工作。


各语言版本的代码编译器环境配置的文档在“2D基础篇”的“快速上手“栏目内有详细介绍。

 blob.png


第三步:写第1个LayaAir引擎程序“Hello Layabox”;

学程序写“Hello world”已成为国际惯例。LayaAir引擎学习也不例外。当看到第一个LayaAir引擎的程序“Hello Layabox”显示出来的时候,不仅会带来入门成功的成就感,同时也说明了你的开发环境配置是没有问题的。


LayaAir引擎入门“Hello Layabox”的教程文档在“2D基础篇”的“快速上手“栏目内有详细介绍。

blob.png

 

第四步:体验全部的LayaAir示例
    完成Hello Layabox的文本显示后,我们需要去了解其它的API,但是并不建议新手直接去看API。为什么呢?光靠看API文档去脑补使用方法,对新开发者而言会感觉内容多且枯燥。所以,在这里推荐大家先去官网开发者中心认真体验并研究LayaAir引擎的全部在线示例。在体验引擎示例的过程中,再针对示例中出现的API进行深入的了解,打开API文档进行学习。即便开发者时间有限,暂时不能全部深入研究每一个示例中的API,那也要先把示例看一遍,至少要做到知道有哪些引擎示例,都可以实现哪些功能。因为官网提供的引擎在线示例包含了游戏开发常用的引擎API。所以当体验完成全部示例后,会对LayaAir引擎的API有一个基本的认知,在开发游戏的时候就可以做到心中有数了。

额外提示一下,在引擎示例的代码区,JavaScript版本提供在线编辑与执行功能。可以直接在浏览器中学习与体验,其它开发语言或者是想在本地开发环境中体验引擎示例的,也可以前往GitHub上去下载示例源码,在官网开发者中心的导航中有GitHub链接入口。blob.png

 

第五步:学习LayaAir引擎的工具链

当体验和研究完引擎示例和API后后,其实已经可以用代码工具直接开发游戏的功能了。但是对于复杂一些的游戏,工欲善其事必先利其器,学习掌握一些可视化开发工具,是大幅提升开发效率的必经之路。LayaAirIDE作为可视化集成开发环境,除了代码编写还包括了UI编辑、动画编辑、粒子编辑、场景编辑等等功能,是首先给推荐大家的。

其次是第三方对LayaAir引擎的支持,Layabox官网已罗列了一些主流的工具对LayaAir引擎的支持,这些第三方工具与LayaAirIDE形成了强大的工具链,让开发者在使用LayaAir引擎的时候无需对工具链产生担忧,可高效的开发各种类型的游戏。这里就不逐一介绍了,重点推荐几款第三方工具,第一是用于骨骼动画的编辑器Spine、第二是地图编辑器TiledMap、第三是3D编辑器Unity3D。

 

第六步:学习项目调试

项目的调试本身并不是很难的要点,但是一些刚接触H5开发的开发者常会就项目调试提出各种问题,在LayaAir技术文档的”2D进阶篇“中会针对开发环境与发布环境下的调试方式,进行介绍说明。


 

第七步:学习并熟记性能优化原则

在当前,移动设备的硬件性能远不及PC硬件,尤其是中低端机型的市场占有率并不低。那么引擎的性能优化将成为很重要的选择因素。那是不是选择了性能高的引擎,项目就一定不会出现性能问题呢?并不是这样。因为引擎的优化仅仅是提供了一个项目性能的天花板。

如果引擎的性能不行,项目再如何优化,也无法突破这个天花板,导致项目开发完了。只能跑在性能特别好的机型上,那时候再去换引擎或者去改引擎,成本和代价就非常的高了。但是,引擎性能明明可以达到APP级的流畅度,如果在项目编写的过程中并不进行优化或错误的使用引擎。那仍然可能出现卡顿问题。因此大家学好引擎的基础之后,一定要认真阅读性能优化的文章,把性能优化的方法熟记于心,在项目编写的过程中熟练的运用。


关于性能优化的教程文档在"2D进阶篇"内。

 

 

第八步:用小游戏或项目实战验证学习成果

按以上步骤学习完全部的文档后,对于有游戏项目研发经验的开发者,已经可以用项目实战来验证学习的成果了。对于近期还没有游戏立项,或者是没有游戏研发经验的开发者,建议先用小游戏实战的方式,完整体验开发流程来验证学习成果。

关于小游戏的教程文档在"实战开发篇"内,腾讯课堂教学内也有小游戏实战开发的视频教学。
blob.png


第九步:学习分包与分模块开发

在与开发者接触的时候,会碰到反馈大型项目编译速度变慢的问题。因为涉及大量的代码与代码文件,带来编译变慢是必然的,这不仅是H5大型项目面临的问题,是任何一种大型项目研发都会面临的问题。对于有有大型游戏项目经验的开发者大多数会采用分模块协同开发的方式进行。而分模块开发后如何整合加载,由于LayaAir引擎支持分包加载。

关于分包相关的教程文档将会在“2D进阶篇”的“游戏加载策略”里出现。(该文档暂未更新)

 

第十步:如何获得官方的技术答疑与指导

在开发实践的过程中,对引擎不是非常熟悉的开发者难免还会遇到各种引擎使用问题,此时如何能尽快获得解答呢?首先要注意的是,不要直接在QQ群中提问,因为QQ群中留言信息较多时,问题很容易被淹没,并且会造成类似的问题反复解答。所以,我们建议开发者在问答社区(ask.layabox.com)中进行搜索,是否有类似问题已经提出或被解决。如果没有类似问题,可以在社区中创建提问并详细描述问题,把代码、截图、问题的现象等信息提供的越细致越好,尽可能减少沟通成本。官方技术支持人员会优先处理社区中的问题,并保障每一个问题会得到解答,当然也可以在提问后,把社区中的提问链接粘贴到开发者群里并@管理员。

在学习过程中,如果有高速网络条件的,也建议大家查看视频教程,全程跟随式操作,会更加直观和易理解。视频教程分为免费观看和付费教学两种。免费教程可以直接在优酷视频网站搜索LayaAir关键字查看相关视频。付费教学可以前往腾讯课堂(layabox.ke.qq.com)查看,相对于优酷等视频网站的免费视频,腾讯课堂中没有片头广告,教学目录结构清晰,还有专享的学员QQ群,直接在QQ群中享受超值的课程问题即时答疑,基础入门课程更是在仅为几元的超低收费门槛,适合开发者快速入门学习和进阶。