Cocos2d-x之Lua核心编程(第2版) - (EPUB全文下载)

文件大小:0.45 mb。
文件格式:epub 格式。
书籍内容:

Cocos2d-x之Lua核心编程(第2版)
第1章 Cocos2d-Lua
第2章 Lua编程
第3章 Cocos2d-Lua基础
第4章 消除游戏实战(一)
第5章 Cocos2d-Lua进阶
第6章 消除游戏实战(二)
第7章 Cocos2d-Lua高级
第8章 打包与发布
第1章Cocos2d-Lua
1.1 概述
Cocos2d-x是一个跨平台开源游戏引擎,用它可以构建基于图形交互的跨平台游戏和应用。Cocos2d作为Cocos2d-x以及其他分支的鼻祖,有其特别的历史故事。
1.1.1 Cocos2d的起源
2005年在阿根廷的一个叫Los Cocos的镇上,一个叫Ricardo的开发者(后来Cocos2d-iPhone的作者)和一群朋友计划每一个星期使用一种编程语言完成一个小游戏。在开发这些小游戏的过程中,他们发现做一个游戏引擎可以节省不少开发时间。2008年他们借鉴之前做小游戏的经验,发现使用python作为开发语言需要的时间最少,所以用python开发了第一个版本引擎,并用Ricardo的家乡地名命名该引擎为Los Cocos。一个月后(2008年3月),团队发布了0.1版并将引擎更名为Cocos2d。
在Cocos2d发布不久后,Apple公司正式发布AppStore以及相关SDK。此后大量使用Objective-C开发的iOS应用和游戏流行起来。这一年,Ricardo使用Objective-C重写了Cocos2d引擎,并发布了Cocos2d-iPhone的第一个版本。
1.1.2 Cocos2d-x的诞生
最开始,Cocos2d没有跨平台的版本,推动Cocos2d-x诞生的重要因素在于Android的普及和国内对跨平台(iOS和Android)游戏开发的强烈需求。Android的开放性使得国内产生一大批的Android智能手机,这时候急需一款简单易用的跨平台游戏引擎来解决游戏内容提供商的疾苦。Cocos2d-x的作者王哲抓住了这个机遇,他发邮件给Ricardo表达了想衍生一款跨平台Cocos2d引擎的想法,出乎意料地,这个想法得到了Ricardo的大力支持并提供了很多技术支援,于是Cocos2d-x在王哲及其团队的努力下诞生了。
Cocos2d-x 1.x和2.x与Cocos2d-iPhone的1.x和2.x在设计上没有区别,Cocos2d-x用C++把Cocos2d-iPhone重写了一遍,并加入了一些有用的跨平台库和接口,很多用法都很像Objective-C风格,一些初学Cocos2d-x的用户会觉得不适应。这时候的Cocos2d-x的发展还跟不上Cocos2d-iPhone,然而在2013年的苹果开发者大会上,这一切有了变化。苹果公布了自家的SpriteKit游戏框架,设计概念完全抄袭了Cocos2d-iPhone,这种赤裸裸的剽窃激怒了Ricardo。Ricardo当即在社区宣布他将停止Cocos2d-iPhone的开发。随后Ricardo从Zenga公司跳槽到触控,正式转入Cocos2d-x的开发,于是全新的Cocos2d-x 3.x出现。
伴随着Cocos2d的成长,很多分支版本随之崛起,包括Cocos2d-x。这些分支版本罗列如图1-1所示,不同的分支支持不同的开发语言和平台,如表1-1所示。
图1-1 Cocos家族
表1-1 不同分支对应开发语言和平台
1.1.3 Cocos2d-Lua的发展
2012年,由于Cocos2d-x中使用的C++对开发人员要求较高,所以网龙科技利用tolua++,将Cocos2d-x的C++接口转为Lua接口(这层C++与Lua之间的胶水代码叫Lua Binding)。开发者可以使用Lua这种简单易懂的脚本语言来编写游戏,从而极大地提高开发效率。
2012年上半年,廖宇雷的公司开始使用Cocos2d-x+Lua来开发游戏。但是发现当时Cocos2d-x对Lua的支持还存在相当多不完善的地方。所以他重写了整个Lua Binding代码,解决了内存泄漏和只能使用全局函数做回调等问题。
在Cocos2d-x 2.0发布后,Lua Binding又进行了不少改进和完善,截止到Cocos2d-x 2.1.4,整个Lua Binding已经可以说是相当稳定了。所以《我是MT》(月流水3000万人民币)、《大掌门》(月流水4000万人民币)这些赚钱像印钱的游戏,纷纷采用Cocos2d-x+Lua的解决方案。
自从2012年后,Cocos2d-x团队开发把重心放在了JavaScript脚本方案上,于是廖宇雷继续改进Lua代码并以Quick-Cocos2d-x为代号开发了一个新的开源引擎。2013年底,Quick-Cocos2d-x以一款千万级游戏《唐门世界》证明了引擎的实力,最终Quick-Cocos2d-x被Cocos2d-x并入主线,成为新的引擎版本Cocos2d-Lua,而廖宇雷也成为这个版本的核心开发者。2015年Cocos2d-x团队再次偏移开发重心到以JavaScript为主的Cocos Creator工具上,Quick-Cocos2d-x的后续版本由社区志愿者进行维护,并建设http://cocos2d-lua.org/网站,作为Quick-Cocos2dx-Community的社区网站。
Cocos2d-Lua的发展始终贯彻了三个目标:
(1)降低学习曲线;
(2)提高易用性;
(3)创建一个精简、但更容易扩展的架构。
1.2 版本介绍
1.2.1 Cocos2d-x版本介绍(C++)
1.Cocos2d-x 1.x
这个版本沿袭了Cocos2d-iPhone 1.x版本的架构与风格接口。引擎很多模块使用了iOS中的功能模块,不同的是这些模块都是由C++模拟实现的。此外,创建Xcode工程需要安装Cocos2d-x的项目模板。底层图形引擎使用的是OpenGL ES 1.0。
2.Cocos2d-x 2.x
随着iPhone对OpenGL ............

以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。

版权声明:书云(openelib.org)是世界上最大的在线非盈利图书馆之一,致力于让每个人都能便捷地了解我们的文明。我们尊重著作者的知识产权,如您认为书云侵犯了您的合法权益,请参考版权保护声明,通过邮件openelib@outlook.com联系我们,我们将及时处理您的合理请求。 数研咨询 流芳阁 研报之家 AI应用导航 研报之家
书云 Open E-Library » Cocos2d-x之Lua核心编程(第2版) - (EPUB全文下载)