Cocos2d-JS游戏开发
基本信息
编辑推荐
飞鱼科技联合创始人林志斌、Cocos引擎创始人王哲和Cocos引擎联合创始人林顺 联合作序推荐
Cocos引擎核心开发者panda(凌华彬)、子龙山人(屈光辉),业界专家红孩儿(卞安)、Himi(李华明),CocoaChina社区和GameRes游资网CEO林德辉倾情推荐
《保卫萝卜》素材官方授权使用
内容简介
计算机书籍
本书结合《保卫萝卜2》以及多个实例详细介绍了Cocos2d-JS游戏引擎,书中共分为4个部分,开头部分为基础篇,主要介绍了Cocos引擎家族史、各平台下的环境搭建、开发工具的选用,还有引擎的核心框架、动作模块、事件机制、音频处理以及屏幕适配等;第二部分为进阶篇,例如数据存储、粒子系统、UI控件、性能优化以及游戏地图;第三部分为高级篇,主要涉及与其他语言的反射调用、Chipmunk物理引擎、网络编程以及JavaScript Binding;第四部分为实战篇,即《保卫萝卜2》实战。
本书适合有一定JavaScript语法基础,并且想快速并且系统学习Cocos2d-JS游戏开发的人员阅读。
作译者
目录
第1章 Cocos2d-JS介绍 2
1.1 Cocos2d引擎家族 2
1.1.1 Cocos2d的诞生 3
1.1.2 Cocos引擎家族大事记 4
1.2 Cocos2d-JS介绍 5
1.3 引擎目录结构 6
1.4 小结 7
1.5 参考资源 7
第2章 Hello World 8
2.1 Cocos Console 8
2.1.1 安装Python 8
2.1.2 Android环境配置 10
2.2 创建、编译和运行工程 12
2.3 HelloWorld的目录结构 13
2.4 项目在Web和Native上的启动流程 16
2.5 项目在各平台下的打包以及部署 18
2.6 js-tests测试工程 22
2.7 为《保卫萝卜2》项目做准备 23
2.8 实例——利用Cocos DevTools 学习Cocos2d-JS 27
前言
Cocos2d-JS作为Cocos引擎的下一个分支,从2014年3月份发布3.0 Beta版到现在已经经历两年的磨练了。这两年来,Cocos2d-JS取得的成绩不容置疑。再加上Cocos Creator编辑器的推出,Cocos引擎面向开发者脚本化已经成为趋势,而Cocos2d-JS正是官方现在主推的方案。
本书编写始于2015年4月,原计划6个月撰写完成,但直到2016年1月才最终完成,历经10个月。我常常调侃自己,这本书是我“十月怀胎”生出来的。在这10个月中,我过着机器般的生活,除了上班就是写书,偶尔有朋友约我周末一起出去玩,我只能问他们一句:“周末是什么,能吃吗?哪里有卖?多少钱一斤?”这样装疯卖傻,只是为了写出一本对得起自己、对得起读者的书。
在保证图书内容的同时,我更注重它阅读起来是否轻松愉快、通俗易懂、能够现学现用,所以,我对书中所有的内容都进行了精雕细磨,哪怕它只是一张图片、一行注释或者一小段代码,都精益求精。对我来说,这本书更像是一个产品,我尽可能地站在用户的角度去撰写和设计这本书,由衷地希望这本书能给广大开发者带来帮助,如此,我便心满意足了。
本书结构
本书共4部分,17章。
第一部分为基础篇,共7章,各章简述如下。
第1章“Cocos2d-JS介绍”:这一章介绍了Cocos引擎的家族史以及引擎的相关创始人,说明了Cocos2d-x和Cocos2d-JS之间的关系,详细介绍了Cocos2d-x引擎包的目录结构。
第2章“Hello World”:这一章介绍了Cocos2d-JS项目的目录结构,演示了环境搭建,讲述了如何通过Cocos Console创建、编译、运行和打包Cocos2d-JS工程。此外,还介绍了如何使用Cocos DevTools工具提高学习效率。在这一章中,你还可以了解到Cocos2d-JS游戏的启动流程。
第3章“核心框架”:这一章介绍了Cocos2d-JS核心框架相关的类,如cc.Director、cc.Node、cc.Scene、cc.Layer、cc.Sprite、cc.Label等,还讲解了BMFont编辑器的用法。最后,我们开发了《保卫萝卜2》的主页面。
第4章“动作模块”:这一章介绍了cc.Action动作父类以及瞬时动作和持续动作,其中持续动作又包含属性变化动作、视觉效果动作以及复合动作。除此之外,还介绍了变速动作。最后,我们让《保卫萝卜2》主页面动了起来。
第5章“事件机制”:这一章介绍了事件管理器、触摸事件、加速计感应事件、键盘事件、鼠标事件、自定义事件等。最后,在这一章的实例中,封装了一个虚拟摇杆。
第6章“音频处理”:这一章介绍了cc.audioEngine的常用API,列出了Cocos2d-JS在各平台下支持的音频格式,并讨论了背景音乐应当在何时播放最为合适。最后,给《保卫萝卜2》添加了相关的音频。
第7章“屏幕适配”:这一章介绍了屏幕适配原理以及5种系统预设适配模式,分别是SHOW_ALL、NO_BORDER、EXACT_FIT、FIXED_HEIGHT、FIXED_WIDTH,并交代了官方目前推荐的适配方案。
第二部分为进阶篇,共5章,各章简述如下。
第8章“数据存储”:这一章介绍了cc.sys.localStorage的用法,以及JSON和plist文件的读取。最后,完成了解锁《保卫萝卜2》“天天向上”玩法的开发。
第9章“粒子系统”:这一章介绍了cc.ParticleSystem类,并将cc.ParticleSystem类的属性划分为粒子配置、发射器类型、重力配置、径向配置、发射器位置、粒子纹理、粒子颜色以及混合函数等,还介绍了ParticleDesigner和ParticleEditor粒子编辑器。
第10章“UI控件”:这一章介绍了Cocos2d-JS中的UI控件,例如文本、编辑框、按钮、复选框、滑块、加载条、布局、滚动视图、列表视图以及分页视图等。
第11章“性能优化”:这一章介绍了Cocos2d-JS游戏开发的一些优化技巧,例如对象缓冲池cc.pool的使用,OpenGL/WebGL下可以使用批处理SpriteBatchNode进行优化,在Canvas中可以将不活跃的Layer烘培起来。在资源管理方面,介绍了SpriteSheet,SpriteSheet可以通过TexturePacker工具制作,并在这一章的最后抛出了TinyPng在线图片压缩云应用。
第12章“游戏地图”:这一章介绍了Tiled Map编辑器的用法,还讲解了cc.TMXTiledMap、cc.TMXLayer以及cc.TMXObjectGroup类。
序言
飞鱼科技发布的多款游戏使用的都是Cocos引擎团队的产品,旗下产品包括《神仙道》手游版、《保卫萝卜》系列、《三国之刃》《囧西游》《小鱼飞飞》等。之所以选择Cocos引擎,是因为它具有优秀的跨平台能力,具有易于使用及高效、灵活的特性,让我们的研发团队可以把更多精力放在游戏设计本身上,大大提高了开发效率,降低了研发成本。
作为忙碌的游戏开发者中的一员,建风在工作之余完成了这本书。书中结合项目开发中的实践经验,以读者的视角精心准备,通俗易懂,力求最佳的阅读和学习体验,让更多的开发者从实战角度出发,更加全面地了解Cocos2d-JS引擎的特性。在建风提到撰写这本书时,飞鱼科技在第一时间给予了支持,将《保卫萝卜》的相关美术素材授权给他在书中使用。我们希望能通过大家熟悉的产品,使读者更加直观和生动地学习Cocos2d-JS引擎。
创作本书历时近一年,内容和编排诚意十足,由浅入深的实例教程降低了学习门槛,值得分享给想要学习和了解Cocos2d-JS引擎的开发者。
序二
几年来,在Cocos引擎团队的坚持和专注下,Cocos引擎经历了一次次突破,越来越得到市场的认可和无数开发者的支持。在国内iOS、Android、微信游戏等分发渠道上,近半数的游戏产品均选择使用Cocos引擎开发,同时也涌现了大量如《刀塔传奇》《梦幻西游》《怪物弹珠》等月流水过亿的产品,这是让我们很自豪的一件事。
Cocos2d-JS是Cocos引擎的分支版本,同样有非常亮眼的成绩,比如口碑收入双丰收的《三国杀传奇》《航海王启航》,甚至是近年越来越受到关注的独立游戏领域,也诞生了诸如《锻冶屋英雄谭》《超级幻影猫》等众多得到了苹果青睐的产品。
易用、低门槛、跨全平台、热更新支持……Cocos2d-JS的诸多优点毋庸置疑,加之Cocos团队新推出的创新性开发工具Cocos Creator,脚本化已经是一种趋势,Cocos2d-JS将在这方面为开发者提供更有力的帮助和支持。
建风是我见过的对Cocos引擎有着非常深入了解的90后开发者之一。在本书中,从最基本的模块介绍到每个方法的详细调用,他融合了自己对Cocos2d-JS的理解,对这款引擎进行了非常全面的剖析和阐释,深入浅出,有着巨大的参考价值。他还获得了飞鱼科技《保卫萝卜》系列素材的授权,并在书中有所展示。本书结合《保卫萝卜2》的实战项目,对Cocos2d-JS的具体使用进行升华,推荐一读。
原计划半年写完本书,但建风追求精益求精、精雕细磨的态度让这个时间延长到了10个月。希望这本书能帮助更多的开发者更好地理解Cocos2d-JS这款功能强大的引擎,也希望它能在带来大量干货的同时帮助更多开发者产出更优质的产品。
序三
早在2012年,Cocos引擎团队在Google的赞助下成功将Cocos2d-x移植到了Cocos2d-HTML5版本,成为全球最早的HTML5游戏引擎之一。2014年年初,引擎团队推出了Cocos2d-JS,实现了Cocos2d-HTML5和Cocos2d-x JSB引擎框架的彻底融合,统一了手机页游和原生游戏的开发工作流,提供了优秀的跨平台部署能力。
目前,引擎团队基于Cocos2d-JS推出了创新性开发工具Cocos Creator。该编辑器具备彻底脚本化、组件化和数据驱动的特点,并以内容生产为核心,适合团队不同角色进行高效的合作以及开发。
从引擎功能增强、性能优化,再到工具链的强化和升级,Cocos2d-JS一直以来都致力于为行业和开发者铺平道路。
本书对Cocos2d-JS引擎进行了很全面的剖析和讲解,从模块、框架的拆解到各类方法的详细调用和开发中的各种优化技巧,内容由浅入深,具有很好的指导和参考作用。同时,建风获得了飞鱼科技《保卫萝卜》系列素材的授权,并在书中对这款很早便非常流行的休闲领域标杆产品进行了全方位的解析。同时,书中也通过介绍《保卫萝卜2》各个模块的开发来进行Cocos2d-JS实战引导,具有非常大的实际参考价值,值得一阅。
正如建风所说,本书其实更像一款“十月怀胎”诞生的产品,书中所有内容都进行了精雕细磨,我相信它能为更多的开发者带来巨大的实用价值,让Cocos2d-JS成为开发者手中的开发利器。
媒体评论
——panda(凌华彬),Cocos2d-JS引擎核心开发者
Cocos是业内领先的一站式跨平台手游开发解决方案,市面上已经有大量的教程和图书来介绍如何使用Cocos,但是这些书和教程大多数使用的是C++和Lua,鲜有比较完整且深入介绍Cocos2d-JS的图书,本书弥补了这方面的空白。建风耗费无数个午夜埋头撰写书稿,在初稿完成之际也邀请了我进行技术审稿,我可以毫不夸张地说,这是一本良心之作,推荐给大家。
——子龙山人(屈光辉),Cocos2d-x引擎核心开发者
目前市面上使用C++、Lua语言进行Cocos游戏开发的教程颇多,但缺少基于JavaScript来开发的系统教程。建风作为知名Cocos技术专家,在本书的编写上花费了颇多精力,今得知本书横空出世,相信将填补这部分技术教程的空白。随着手机游戏页游化进程的推进和Cocos Creator工具的推出,基于JavaScript的开发模式将会更加受欢迎。本书内容丰富而实用,可作为广大对这些知识感兴趣的Cocos爱好者学习和参考之用。
——红孩儿(卞安)
学习要学以致用,教学应授人以渔。建风将其恰到好处地融入本书中,在详细讲解各知识点的同时又结合项目实例的引导方式,让读者更透彻地理解与吸收!这着实是一本良心之作,值得大家入手。
——Himi(李华明)
建风是触控科技认证CVP,是CVP平台年轻有为的Cocos2d-JS体系专家,对Cocos2d-JS引擎理解深刻,开发经验丰富,且先后在CocoaChina社区和CVP平台上发布两套Cocos2d-JS视频教程,均获得超高好评。本书内容全面、重点突出,不仅是初级开发者的入门教程,也可以帮助更多游戏开发者全方面掌握引擎和游戏开发技巧。社区和平台对这本书也非常期待,并会鼎力支持和推广
——CocoaChina社区和CVP平台
手机游戏发展至今,产品层出不穷,而这其中不乏杰出的游戏产品脱颖而出,每一款产品都是游戏开发人员辛勤汗水的浇筑,技术是构建游戏的基本环节,本书正是建风在实际开发工作中的经验累积。如今建风将这些经验毫无保留地分享给大家,可以帮助大家了解更多的游戏开发经验和技巧,如果你对Cocos2d-JS游戏开发有兴趣,那么请不要错过这本好书!
——林德辉,GameRes游资网CEO