第1章
智能手机操作系统介绍
2007年1月9日,在MacWorld大会上,苹果首席执行官史蒂夫?乔布斯宣布iPhone产品正式推出,同年6月29日iPhone产品在美国上市。MacWorld是专门关注苹果公司产品的计算机杂志,也是全北美洲最畅销的关注苹果产品的杂志,每年的MacWorld大会,苹果公司基本上都会宣布一些新产品。
2007年11月5日,谷歌发布了基于Linux平台的开源手机操作系统Android。第一款基于Android操作系统的手机(T-MobileG1)于2008年9月22日在美国纽约正式发布。
2008年,工业和信息化部、发改委、财政部联合发布《关于深化电信体制改革的通告》,开始电信业务重组:中国电信收购中国联通的CDMA网络,中国联通与中国网通合并,中国网通的基础电信业务并入中国联通,中国铁通并入中国移动。自此,国内电信运营商由5家变为3家。同年,中国移动、中国联通、中国电信分别获取国家的3G牌照:中国移动获得基于TD-SCDMA技术制式的3G牌照,中国电信获得基于CDMA2000技术制式的3G牌照,中国联通获得基于WCDMA技术制式的3G牌照。
2007年苹果的iPhone、谷歌的Android相继推出,2008年国内的3G牌照发放,一次又一次地向大家证明:3G的时代已经来临。
第三代移动通信技术(3G)是指支持高速数据传输的蜂窝移动通信技术。围绕3G技术的3G协议、3G手机和智能手机操作系统等,都涉及非常多的理论及相关知识。本书只介绍智能手机的操作系统以及智能手机操作系统上的应用和软件,至于其他(包括3G协议和3G手机)的理论和相关知识,请参考相关领域的相关书籍。
如果没有各类软件,电脑和手机就不能有序地按照我们的想法进行工作。例如,电脑上没有办公软件,我们就不可能按照自己的想法写出文章;电脑上没有网页浏览器,我们就不可能访问网页;而手机上没有收件箱,我们也就不能收发短信了。
如果没有各类游戏,电脑和手机也就不能满足我们在工作之余还想玩游戏的需求。例如,电脑上的魔兽争霸3(Dota)、地下城与勇士(DNF)等,手机上的连连看和愤怒的小鸟等。
那么,电脑和手机上的软件和游戏是怎么制作出来的呢?它们需要根据每台电脑和手机的硬件做特殊的处理吗?事实上,大部分的软件和游戏都是不需要针对机器做特殊定制的,因为它们都不是直接和机器硬件打交道,它们都不会直接操作机器的硬件,它们都是基于一个名叫“操作系统”的程序开发的。
操作系统是一个管理硬件资源和软件资源的程序,不管在PC上还是在手机上,它都是核心和基础。操作系统管理全部的硬件资源和软件资源,控制软件的运行。
软件、游戏、操作系统以及硬件的关系如图1-1所示。
图1-1软件、游戏、操作系统以及硬件的关系图
前面我们介绍了操作系统与软件、游戏之间的关系,现在来分别介绍iOS和Android等几个常见的手机操作系统。
1.1iOS
2007年1月9日乔布斯宣布iPhone产品正式推出,同年6月29日,第一代的iPhone(iPhone1)在美国发布。截至如今,苹果已经发布了4款iPhone产品,分别是2007年发布的iPhone1,2008年11月发布的iPhone2,2009年6月发布的iPhone3,2010年6月发布的iPhone4。
苹果公司修改了原来用于电脑的MacOS操作系统,让其更符合移动设备,也就产生了iOS。苹果公司的iOS在4.0版本之前的名称为iPhone,在4.0版本之后才叫iOS。
iPhone是一个集照相手机、个人数码助理、音乐视频播放器为一体的掌上设备,在iOS4.0操作系统上,iPhone自带以下应用程序:短信、日历、照片、相机、备忘录、YouTube、股市、地图、天气、实用工具文件夹、iTunes、浏览器Safari、邮件工具Mail、应用商城AppStore以及系统设定等。下面我们开始介绍iOS的常见特性以及AppStore应用商城。
1.1.1iOS常见特性
iOS作为一款非常优秀的操作系统,是智能手机操作系统的典型。下面就给出其常见的一些特性。
(1)WiFi。支持无线网络(802.11b/g),通过无线网络能够方便地接入网络,手机还内置了浏览器Safari和邮件工具Mail。
(2)GPS。支持GPS定位。
(3)摄像头。iPhone1和iPhone2为200万像素,iPhone3为320万像素,iPhone4为500万像素。
(4)闪光灯。iPhone4之前无闪光灯,iPhone4支持LED闪光灯。
(5)感应器。也就是重力感应,iOS是第一个提供重力感应功能的手机操作系统。有了重力感应功能,手机能够根据用户水平或竖直的持有方式,自动地调整屏幕的显示方向。
(6)光感器。手机能够根据当前的光线强度,自动地调整屏幕的亮度。
(7)超强的CPU。iPhone4采用1GHz的A4处理器。
1.1.2AppStore
AppStore是苹果公司为iPhone、iPod、iPad以及Mac创建的,它允许用户从中浏览下载为iPhone、iPod、iPad以及Mac开发的应用程序(包括软件和游戏)。有些应用程序是收费的,有些则是免费的。
AppStore为第三方的开发者提供了一个方便、公平和高效的软件销售平台,正是因为这一点,手机软件业开始步入一个高速发展的时代。
AppStore建立了一种三方(苹果公司、开发者和用户)共赢的商业模式。苹果公司掌握AppStore的开发与管理权,是平台的主要掌控者,提供平台和SDK开发工具包,负责应用的营销,给开发者结算,向用户收费。开发者是应用软件的上传者,主要负责应用程序的开发,然后在AppStore上自主运营(免费、收费、免费与收费之间调整、调整价格)自己的产品或应用。用户是应用程序的使用者,只需要注册、登录AppStore并捆绑信用卡,就可以下载应用程序。
1.2Android
2007年11月5日,谷歌宣布组建一个全球性的联盟组织,即开放手机联盟。开放手机联盟的成员包括手机制造商、手机芯片厂商和移动运营商。手机制造商包括摩托罗拉、三星和索尼爱立信等,手机芯片厂商包括美国的德州仪器、美国的NVIDIA和欧洲的ST等,移动运营商包括中国电信、中国移动、中国联通和德国T-Mobile等。
开放手机联盟将支持谷歌可能发布的手机操作系统或者应用软件,共同开发名为Android的开源的移动系统。
Android是基于Linux平台的开源手机操作系统,第一款基于Android操作系统的手机(T-MobileG1)于2008年9月22日在美国纽约正式发布。
下面我们介绍Android的常见特性以及Android应用商城。
1.2.1Android常见特性
这里给出Android的3个常见特性。
(1)开放性。Android平台是开源的、开放的,它允许任何移动终端厂商加入到Android联盟中来。由于它充分开放,越来越多的厂商推出基于Android的手机,Android的终端会越来越多。当然开发者也会越来越多,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。
(2)丰富的硬件选择。这一点其实还是与Android平台的开放性相关,由于Android的开放性,众多的厂商会推出功能迥异又各具特色的多种产品。功能和特色的差异,却不会影响数据同步甚至软件兼容。
(3)不受任何限制的开发商。这一点其实与大家的利益息息相关。Android平台提供给第三方开发商一个十分宽泛、自由的环境,因此不会受到各种条条框框的限制,这样就会有非常多的新颖别致的软件和游戏诞生。但是这也有其两面性,血腥、暴力和色情方面的软件和游戏也会出现在Android里面。而且太自由宽泛的环境,很难建立一个像苹果AppStore那样完整的产业链。
1.2.2Android应用商城
尽管Android是一个开放的平台,但是谷歌还是建立了一个类似于AppStore的应用商城,即AndroidMarket(http://market.android.com/)。开发者可以上传自己的软件和游戏到AndroidMarket上,然后在AndroidMarket上运营管理自己的软件和游戏。
不过,由于Android太开放了,很多使用了Android系统的手机厂商都建立了自己的应用商城,例如摩托罗拉的智件园和HTC商城等。除了上述的几个商城外,常说的商城还包括亚马逊的Android商城。
1.3其他手机操作系统
iOS和Android是目前最火的两大智能手机操作系统,但是除了这两大系统外,还存在着很多的智能手机操作系统,比如PalmOS、WindowsMobile、WindowsPhone、塞班(Symbian)以及黑莓(Blackberry)等。中国移动的OPhone、中国联通的沃Phone和联想的LEOS是国内的三大智能手机系统,下面重点介绍一下。
1.3.1OPhone
为了突破TD终端瓶颈,促进手机终端与中国移动的网络及应用服务进行无缝对接,中国移动和播思通讯在谷歌Android操作系统的基础上,主导开发了OPhone操作系统(OpenMobilePhoneOperatingSystem)。OPhone操作系统直接内置了中国移动的服务菜单、音乐随身听、手机导航、号簿管家、139邮箱、飞信、快讯和移动梦网等特色业务。
1.3.2沃Phone
2011年2月28日,中国联通旗下自主的操作系统以及搭载该系统的多款机型正式发布。此次发布正式将操作系统命名为沃Phone操作平台(在此之前存在着多种命名方式,如Uphone等),这是中国首个自主知识产权的智能手机操作系统。
沃Phone是完全基于Linux内核的原生操作系统,具有自主、开放的特性。很难得的一点就是沃Phone是基于Linux内核的,而不是基于Android操作系统的,这与OPhone不同。
1.3.3LEOS
2010年1月7日,在美国的CES2010大展开幕之际,联想公司发布了一款全新的智能手机——乐Phone,其上市日期是2010年5月11日。
乐Phone采用的操作系统就是LEOS。LEOS是一个增强的Android操作系统,是联想根据自身的需求定制的Android操作系统。LEOS除拥有Android操作系统原来所有的功能外,还拥有联想自主开发的推送(push)引擎。推送引擎以联想公司强大的后台服务为基础,精准、实时地推送邮件、新闻、音乐、视频等信息,让用户在各种网络环境都能通过如影随形的推送服务实现互联之乐。
1.4总结
本章一共介绍了5个智能手机操作系统,分别是iOS、Android、OPhone、沃Phone和LEOS。下面总结一下这些系统的整体特点。
苹果的iOS的产业链比较完善,对于开发者来说,只需要针对iOS系统进行开发,然后提交给苹果的AppStore即可运营。
谷歌的Android、中国移动的OPhone、联想的LEOS都属于Android系列,Android的整个产业目前看起来是蒸蒸日上的,读者应该时刻都能从网上看到关于Android的新消息。但是由于其开放性,很多厂商对Android做了较大范围的改造,甚至已经宣称拥有自己的手机操作系统。这样开发者开发出一个软件或游戏时,要想做大规模的适配,有可能需要针对厂商的机型做定制。这些基于Android的厂商,都想像苹果那样控制整个产业链,每一家都在酝酿自己的应用商城,而且很多都已经上线,如谷歌的AndroidMarket、中国移动MM商城、联想应用商店等。但是,任何单独一家Android厂商的终端数都小于苹果。因此,虽然看起来是一个繁荣的市场,但具体每个开发者从中如何获益,还得研究。
沃Phone是中国联通刚刚推出的智能手机系统,围绕该系统的终端还不是很多。不过,中国联通已经建立了针对该系统的官方商城、提供了专门的开发环境,而且由于该系统是中国联通自主知识产权建立的,所以拥有控制产业链的基础。
本章介绍的各智能手机操作系统的发展知识对读者来说比较重要,了解这些知识可以方便读者在进行软件和游戏开发时选择合适的操作系统。而在下一章,我们将介绍游戏以及游戏引擎的相关知识。
……
第1章 智能手机操作系统介绍
1.1 iOS
1.1.1 iOS常见特性
1.1.2 App Store
1.2 Android
1.2.1 Android常见特性
1.2.2 Android应用商城
1.3 其他手机操作系统
1.3.1 OPhone
1.3.2 沃Phone
1.3.3 LEOS
1.4 总结
第2章 游戏及游戏引擎介绍
2.1 游戏介绍
2.2 游戏引擎介绍
2.2.1 渲染引擎
2.2.2 物理引擎
2.2.3 周边工具
2.3 总结
第3章 进入cocos2d的世界
3.1 cocos2d介绍
3.2 cocos2d-iphone介绍
3.3 cocos2d-x介绍
3.4 cocos2d-x游戏分享
3.5 其他cocos2d版本介绍
3.6 总结
第4章 搭建跨平台的开发环境
4.1 环境说明
4.2 环境搭建
4.2.1 安装Visual Studio
4.2.2 安装Cygwin
4.2.3 安装iOS环境
4.2.4 安装Android环境
4.2.5 安装沃Phone环境
4.2.6 安装cocos2d-x引擎
4.3 环境测试之Hello World案例
4.3.1 Windows运行
4.3.2 iOS运行
4.3.3 Andriod运行
4.3.4 沃Phone运行
4.4 总结
第5章 cocos2d-x引擎基础使用
5.1 整体架构
5.1.1 导演
5.1.2 摄像机
5.1.3 场景
5.1.4 布景
5.1.5 人物角色
5.1.6 动作
5.2 目录结构
5.3 坐标体系
5.4 跨平台常量
5.5 图形
5.6 动作
5.7 菜单
5.8 事件
5.9 变量自动释放
5.10 总结
第6章 cocos2d-x之高级特性
6.1 物理引擎
6.1.1 世界
6.1.2 刚体及刚体定义
6.1.3 形状
6.1.4 关联及关联定义
6.1.5 链接及链接定义
6.1.6 使用案例
6.2 粒子系统
6.2.1 重力式粒子系统
6.2.2 放射式粒子系统
6.3 声音模块
6.4 总结
第7章 cocos2d-x之周边工具
7.1 沃Phone 应用程序打包工具
7.1.1 软件包设置
7.1.2 应用配置
7.1.3 添加支持文件
7.1.4 保存编译
7.2 图片编辑器
7.3 地图编辑工具
7.4 粒子系统设计工具
7.5 总结
第8章 cocos2d-x之交叉编译
8.1 交叉编译到iOS平台
8.1.1 新建iOS项目
8.1.2 交叉编译
8.1.3 打包运行
8.2 交叉编译到Android平台
8.2.1 新建Android项目
8.2.2 生成编译脚本
8.2.3 交叉编译
8.2.4 打包运行
8.3 交叉编译到沃Phone平台
8.3.1 新建沃Phone项目
8.3.2 生成编译脚本
8.3.3 交叉编译
8.3.4 打包运行
8.4 总结
第9章 cocos2d-x之实用篇
9.1 游戏社交平台
9.2 手机广告平台
9.3 推广墙平台
9.4 技术准备
9.4.1 cocos2d-x调用Objective-C
9.4.2 cocos2d-x调用Java
9.5 案例实现
9.5.1 场景分析
9.5.2 环境准备
9.5.3 游戏设计
9.5.4 游戏实现
9.5.5 场景总结
9.6 总结
第10章 "魔塔"案例之基础篇
10.1 先熟悉一下游戏
10.2 准备工作
10.3 绘制最简单的游戏地图
10.4 人物行走
10.5 碰撞检测
10.6 总结
第11章 "魔塔"案例之高级篇
11.1 重构代码
11.1.1 分离场景和图层
11.1.2 分离游戏对象
11.1.3 小结
11.2 添加更多游戏元素
11.2.1 添加怪物
11.2.2 添加物品和门
11.2.3 添加对象层
11.2.4 小结
11.3 总结
第12章 未来展望
12.1 智能手机系统的发展趋势
12.1.1 iOS的发展趋势
12.1.2 Android的发展趋势
12.1.3 沃Phone的发展趋势
12.2 手机游戏的发展趋势
12.2.1 手机单机游戏
12.2.2 手机网络游戏
12.3 cocos2d-x引擎的发展趋势
纵观移动互联网时代各大移动平台的发展,游戏无疑是大众娱乐的首选。由于各个平台的差异性,游戏开发的难度和成本逐渐增加,“跨平台”一词也成为了移动游戏开发者最关注的焦点,还等什么呢?如果你想一次编码,多平台运行,cocos2d-x正是你需要的,而本书则由浅入深地介绍了COCOS2d-X游戏开发的全过程,理论与实践相结合,是移动游戏开发者不可多得的佳作。强烈推荐!
——杨丰盛
在移动客户端发展愈演愈烈的今天,移动开发技术已经成为了主流之一。我们看到很多移动开发团队取得了成功,而成功并不是一蹴而就的,我们需要的是若干年的积累,最后形成质的飞跃。《COCOS2d-x手机游戏开发》这本书,也许就是您走向明天成功的开始,COCOS2d-x,可能就是您走向成功的基石。
——赵磊
喜欢游戏,不是因为某平台的各种一夜暴富的传说,而是儿时心中的梦想。轻盈、纯洁、开放、坦诚地面对每一个朋友,COCOS2d,X无疑是最合适的。感谢本书的作者给我们揭开COCOS2d-x神秘的面纱,带我们走进这个世界。在移动互联网和移动应用火热的今天,我们需要这样一个向导,为我们打开通往这个世界的传送门,去这个全新的领域追寻、探索。不要错过这个机会,不要让自己的梦想冷却,深埋心底。
——王明杨
目前,在苹果AppStore和谷歌AndroidMarket的排行榜内,收入较高的绝大部分都是游戏。市场和用户选择了游戏,所以我们也选择了游戏。本书详尽、全面、深入地介绍了如何使用游戏引擎开发优质游戏以及如何快速集成游戏社交平台、手机广告平台、虚拟物品及流量互换的推广墙服务,从而快速开发、快速扩大用户规模和获取积极的游戏收入。本书的出版恰逢其时,是手机游戏开发者必备的佳作,强烈推荐!
——刘琦