新書推薦:
《
巨人传(插图珍藏本)
》
售價:HK$
705.6
《
地下(村上春树沙林毒气事件的长篇纪实)
》
售價:HK$
76.7
《
偿还:债务与财富的阴暗面
》
售價:HK$
80.2
《
清华大学藏战国竹简校释(壹):《命训》诸篇
》
售價:HK$
94.4
《
封建社会农民战争问题导论(光启文库)
》
售價:HK$
68.4
《
虚弱的反攻:开禧北伐
》
售價:HK$
92.0
《
中华内丹学典籍丛书:古书隐楼藏书汇校(上下)
》
售價:HK$
257.2
《
辞源.修订本(建国60周年纪念版)(全二册)
》
售價:HK$
1477.6
|
編輯推薦: |
以Cocos2d-x V3.0为框架全面讲解手游开发的知识和方法
以热门游戏2048、卡牌为例,完整再现手游的开发过程
Cocos2d-x作者之一林顺和泰然网创始人杨雍力荐
知识点深入浅出,实例丰富,代码完备
线上交流平台,及时答疑解惑
|
內容簡介: |
本书以Cocos2d-x V3.0系列版本为框架,通过实例讲解手机游戏的开发知识和方法,着重通过实例提高读者的开发动手能力。涉及的内容包括:环境搭建、交叉编译以及打包部署;Cocos2d-x数据类型和基本概念的使用,如场景、导演、精灵等;使用Cocos2d-x创建用户界面,如文本、菜单、滚动框等基本控件,以及一些扩展控件的使用;使用Cocos2d-x创建动作,比如让精灵移动、跳跃、旋转,以及如何创建按顺序或同时进行的动作;使用Cocos2d-x播放、停止、暂停、继续播放背景音乐和音效;Cocos2d-x使用的触摸事件机制;在游戏中存储数据的几种方式;使用HTTP、Sockets、WebSockets进行网络编程;在游戏中使用物理引擎Box2D、使用瓷砖地图、使用CocosBuilder制作游戏界面等;Cocos2d-x中的纹理和动画。最后通过两个完整的游戏开发实例讲解使用Cocos2d-x开发游戏的全过程。
本书实例丰富,代码完备,知识点清晰简洁。本书所有实例均提供完整代码下载,书后附有代码清单概要,非常方便读者查找使用。此外作者还将Cocos2d-x 3.X各版本间的区别用实例做了详细说明,且将在博客不断更新。
|
關於作者: |
于浩洋:曾就职于阿里巴巴、人人网,从事多年互联网产品开发工作。守望科技工作室创始人,我博轻游科技有限责任公司CTO,参与主导多款卡牌手游的开发与发行,有丰富的手游开发经验。
|
目錄:
|
第1章 准备1br
1.1 Cocos2d-x简介1br
1.2 Cocos2d-x架构和目录结构6br
1.3 环境搭建7br
1.3.1 Windows开发环境搭建7br
1.3.2 Mac开发环境搭建11br
1.3.3 创建新项目12br
1.3.4 在Android上调试项目14br
1.3.5 打包APK文件22br
第2章 Cocos2d-x常用数据和方法23br
2.1 C++数据类型23br
2.2 Cocos2d-x封装的数据类型24br
2.2.1 布尔型Bool的使用24br
2.2.2 整型Integer的使用25br
2.2.3 浮点型Double、Float的使用25br
2.2.4 字符串String的使用25br
2.2.5 数组Array的使用26br
2.2.6 点Point的使用27br
2.2.7 尺寸Size的使用28br
2.2.8 矩形Rect的使用29br
2.2.9 字典Dictionary的使用31br
2.3 常用宏定义32br
2.3.1 数学相关宏的使用32br
2.3.2 断言宏CCAsset的使用33br
2.3.3 数组遍历宏CCARRAY_FOREACH和br
CCARRAY_FOREACH_REVER SE的使用33br
2.3.4 字典遍历宏CCDICT_FOREACH的使用35br
2.3.5 对象创建方法宏CREATE_FUNC的使用36br
2.3.6 属性定义宏CC_PROPERTY的使用37br
2.3.7 命名空间宏39br
2.4 Cocos2d-x中的坐标和坐标系39br
2.4.1 OpenGL坐标系和屏幕坐标系39br
2.4.2 锚点和位置的使用40br
2.4.3 节点坐标系和世界坐标系的相互转换42br
第3章 Cocos2d-x核心概念45br
3.1 基础节点46br
3.1.1 Node简介46br
3.1.2 Node应用举例之移除节点47br
3.2 相机47br
3.2.1 相机简介47br
3.2.2 使用CCCamera循环缩放点48br
3.3 导演49br
3.3.1 导演Director简介49br
3.3.2 Director常用功能举例50br
3.4 场景51br
3.4.1 场景定义51br
3.4.2 创建显示战斗场景52br
3.4.3 动态切换多个场景53br
3.5 布景56br
3.5.1 布景定义56br
3.5.2 使用Layer模拟Windows Phone主界面57br
3.6 精灵59br
第4章 Cocos2d-x用户界面61br
4.1 文本渲染61br
4.1.1 制作fnt格式字体62br
4.1.2 使用LabelBMFont显示文本66br
4.1.3 使用LabelTTF显示文本67br
4.1.4 使用LabelAtlas显示文本70br
4.2 菜单71br
4.2.1 菜单和菜单项的简单使用72br
4.2.2 使用菜单制作游戏菜单功能74br
4.3 滚动框80br
4.3.1 使用ScrollView显示多页内容80br
4.3.2 监听ScrollView的滚动和缩放事件82br
4.3.3 使用TableView展示多页内容83br
4.3.4 触摸TableView里的菜单来滚动TableView86br
4.4 扩展控件87br
4.4.1 滑动条控件ControlSlider87br
4.4.2 开关控件ControlSwitch90br
4.4.3 取色器控件ControlColourPicker92br
4.4.4 电位计控件ControlPotentiometer94br
4.4.5 步进器控件ControlStepper95br
4.4.6 按钮控件ControlButton96br
4.4.7 Scale9Sprite99br
4.5 使用编辑框制作用户登录界面100br
第5章 Cocos2d-x动作105br
5.1 动作分类105br
5.2 瞬时动作106br
5.2.1 使用FlipXFlipY实现XY翻转106br
5.2.2 使用Hide、Show实现隐藏和显示108br
5.3 延时动作109br
5.3.1 使用MoveTo或者MoveBy实现移动109br
5.3.2 使用RotateTo和RotateBy实现旋转110br
5.3.3 使用JumpTo和JumpBy实现跳跃113br
5.3.4 使用ScaleTo和ScaleBy实现缩放114br
5.3.5 使用SkewTo和SkewBy实现倾斜变形115br
5.3.6 使用CardinalSplineBy和CardinalSplineTo实现曲线运动117br
5.3.7 使用FadeIn和FadeOut实现渐隐渐出119br
5.4 联合动作120br
5.4.1 按先后顺序执行动作120br
5.4.2 同时执行动作121br
5.4.3 逆向执行动作122br
5.4.4 多次重复执行动作123br
5.4.5 延时执行动作124br
第6章 音频处理125br
6.1 音频处理类SimpleAudioEngine125br
6.2 添加控制背景音乐126br
6.2.1 播放背景音乐并调整音量126br
6.2.2 停止播放背景音乐128br
6.2.3 暂停播放背景音乐128br
6.2.4 继续播放背景音乐128br
6.3 添加控制音乐效果129br
6.3.1 播放音乐129br
6.3.2 停止播放音乐131br
6.3.3 暂停播放音乐131br
6.3.4 继续播放音乐131br
6.3.5 停止、暂停、继续播放所有音乐132br
6.4 Cocos2d-x支持的音频格式133br
第7章 Cocos2d-x瓷砖地图135br
7.1 什么是瓷砖地图135br
7.2 使用Tiled制作瓷砖地图137br
7.2.1 安装Tiled137br
7.2.2 制作地图138br
7.3 在游戏中使用瓷砖地图140br
7.3.1 使用TMXTiledMap把瓷砖地图加载到游戏中140br
7.3.2 拖曳TMX地图141br
7.3.3 在TMX地图中添加并移动精灵142br
7.3.4 读写TMX地图中的图层和瓷砖143br
第8章 Cocos2d-x中的事件机制146br
8.1 事件和事件调度147br
8.2 触摸事件149br
8.2.1 单点触摸事件的类和方法149br
8.2.2 单击屏幕移动精灵150br
8.2.3 拖动精灵移动152br
8.2.4 修改监听器的优先级154br
8.2.5 多点触摸事件156br
8.2.6 使用多点触摸实现缩放157br
8.3 鼠标事件159br
8.4 键盘事件159br
8.4.1 键盘事件介绍159br
8.4.2 实例:把键盘输入内容显示在屏幕中160br
8.5 加速计161br
8.5.1 加速计介绍161br
8.5.2 实例:利用加速计控制小球移动162br
第9章 Cocos2d-x本地数据存储165br
9.1 使用UserDefault存储数据165br
9.1.1 UserDefault介绍165br
9.1.2 使用UserDefault存储修改数据167br
9.2 文件169br
9.2.1 文件处理类FileUtils169br
9.2.2 判断文件是否存在169br
9.2.3 设置文件别名170br
9.2.4 获取文件完整路径172br
9.2.5 设置文件搜索路径174br
9.2.6 根据分辨率调用不同的资源175br
9.2.7 向文件中写入数据176br
9.2.8 从文件中读取数据179br
9.2.9 把数据写入plist文件180br
9.2.10 从plist文件读取数据182br
9.3 SQLite存储183br
9.3.1 SQLite简介183br
9.3.2 可视化管理工具SQLiteStudio185br
9.3.3 使用SQLiteStudio添加数据库186br
9.3.4 使用SQLiteStudio添加表和数据188br
9.3.5 使用C语言接口操作SQLite数据库190br
9.3.6 不使用回调查询SQLite数据库194br
第10章 网络编程197br
10.1 HTTP实现网络通信198br
10.1.1 HTTP通信简介及常用类198br
10.1.2 GET方式通信200br
10.1.3 POST方式通信203br
10.2 Socket实现网络通信204br
10.2.1 Socket简介204br
10.2.2 在Cocos2d-x中使用Socket205br
10.3 WebSocket实现网络通信209br
10.3.1 WebSocket简介209br
10.3.2 在Cocos2d-x中使用WebSocket210br
第11章 物理引擎Box2D215br
11.1 Box2D简介216br
11.2 创建Box2D的HelloWorld项目217br
11.2.1 创建一个世界217br
11.2.2 创建一个地面物体217br
11.2.3 创建一个动态物体219br
11.2.4 模拟(Box2D的)世界219br
11.2.5 清理工作221br
11.3 世界b2World221br
11.3.1 b2World简介221br
11.3.2 世界常用功能222br
11.4 物体b2Body225br
11.4.1 b2Body简介225br
11.4.2 物体定义226br
11.4.3 创建物体228br
11.4.4 使用物体229br
11.5 固定装置b
|
內容試閱:
|
前 言
记得第一次接触移动互联网是在2008年左右,当时互联网应用相当普及,市场竞争进入红海,绝大多数人认为移动互联将成为下一个增长点,是很大的蓝海,社会将进入3G时代。大到三大运营商和一线互联网公司,小到小公司和个人开发者都想进入移动互联,从3G大蛋糕中分到一块利益。转眼几年过去,正如当时预料的那样,移动互联已经深入人们的生活当中,4G也悄悄来临。在移动互联的发展过程中,苹果公司起到了不可磨灭的作用,因为它发布了能承载移动互联功能的新概念智能手机iPhone。于是乎,诞生了一大批移动应用和移动游戏的开发商和个人开发者。其中以《疯狂的小鸟》为代表的第一批手机游戏进入人们的视线并大获成功,之后手机游戏以比雨后春笋还疯狂很多倍的速度成长起来。各种类型的游戏出现在市场中,例如《我叫MT》《大掌门》《找你妹》及腾讯的天天游戏系列。
在手机游戏快速成长的过程中,手机游戏开发框架也跟着发展起来,其中最著名的就是Cocos2d家族,Cocos2d-iphone、Cocos2d-js、Cocos2d-java等,其中Cocos2d-iphone使用数最多。但是Cocos2d-iphone是用Objective-C开发的,只能用于开发iPhone平台的游戏,如果想发布到Android平台,就要使用另外一种语言,几乎重写所有代码。于是,中国有位叫王哲的“大神”,使用C++重新实现了一遍Cocos2d-iphone的API,使用C++开发的游戏不仅效率高,也能发布到iOS、Android、in、Linux等多个平台,真正实现了编写一次、多平台运行的目的。
Cocos2d-x 3.0系列统一修改了类和接口(比如把类前面的CC去掉),使代码更规范、更美观。3.0系列重写了纹理渲染方式,不再会产生成倍消耗内存的情况,使游戏运行效率更高、更稳定。本书以Cocos2d-x 3.0版本为基础,记录整理了笔者在学习和使用Cocos2d-x中遇到的问题和常用功能,以实践为主,着重提高读者的动手开发能力,让读者从入门手游的菜鸟成为游戏开发界的大神。
本书的主要内容如下。
第1章介绍Cocos2d-x的优缺点和目录结构,本书案例需要的环境搭建、交叉编译以及打包部署。
第2章讲解了Cocos2d-x中常用的数据类型和方法及一些宏定义。
第3章讲解了Cocos2d-x的基本概念,即基础节点Node、相机、导演、场景、布景、精灵。
接着由浅入深,第4章讲解了如何使用Cocos2d-x创建用户界面,如文本、菜单、滚动框等基本控件,以及一些扩展控件,如取色器、计步器、复选框等。
之后笔者用很多篇幅在第5章讲解了使用Cocos2d-x创建动作的方式,因为动作在游戏中是必不可少的重中之重,内容包括移动、跳跃、旋转等简单动作,以及按顺序执行或同时执行的复杂动作。
音乐在游戏中也不可或缺,好的音效给人耳目一新的感觉,本书第6章讲解了使用Cocos2d-x播放、停止、暂停、继续播放背景音乐和音效。
第7章介绍了瓷砖地图相关的内容,包括瓷砖地图的概念、如何制作瓷砖地图,如何在游戏中使用、操作瓷砖地图等。
第8章讲解了Cocos2d-x中的事件机制,包括触摸事件、鼠标事件、键盘事件,以触摸事件为主要内容。智能手机大多数都是触摸屏,要监听用户的触摸行为,然后调用相应的行为动作,Cocos2d-x提供了一套触摸事件机制,并且3.0系统重写了该机制,使监听用户触摸行为更加方便快捷,同时Cocos2d-x还支持多点触摸机制,增加玩家与手机的交互乐趣。
除此之外,进行游戏时还产生很多数据,这些数据有时需要保存下来以便下次使用,所以第9章介绍了多种保存数据的方式,比如UsderDefault、Plist、本地数据库SQLite等。
当开发网络游戏时,客户端要不断地跟服务端进行数据交换,第10章讲解了如何使用HTTP、Sockets、WebSockets进行网络编程。
第11章介绍了物理引擎,它可以使游戏更加接近现实世界,给玩家更真实的体验。
第12章讲解了纹理和动画,介绍了纹理的渲染方式并提供了几个提高渲染效率的方法。动画部分讲解了如何在游戏中播放帧动画、plist动画和骨骼动画。书中还穿插介绍了一些工具的使用方法,比如使用bitmap font generator制作自定义字体,使用Tiled Map Editor制作编辑瓷砖地图,使用SQLiteStudio管理SQLite数据库,使用CocoStudio制作编辑UI、动画、场景等。
第13章讲解了休闲游戏2048的完整开发过程,核心内容包括使用CocoStudio制作UI界面,UI界面与逻辑代码的交互,使用UserDefault存取游戏数据,数字方块移动、合并的逻辑等。
第14章讲解了水浒卡牌游戏的完整开发过程,挑选了其中几个典型的功能进行了详细讲解,包括登录界面、公共菜单、游戏首页、英雄列表、地图、推图和战斗界面等。本章内容对于游戏开发人员具有很高的参考价值。
本书所有实例代码在附录A中有详细说明,读者可到博文视点网站下载,地址:www.broadview.com.cn23998。
附录B详细介绍了Cocos2d-x 3.X主要版本间的区别,用实例详细说明各个功能点的使用方法。
最后衷心感谢读者的支持,如果有问题或想法可以到博客上留言交流,我的博客是http:blog.watchtech.net。
于浩洋
|
|