虚幻4怎么实现按某按键使物体向某个从不同方向观察物体移动

加载中,请稍候...
加载中,请稍候...
京 东 价:
¥136.10 [8.2折][定价:¥168.00]
温馨提示:
其它类似商品
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
2D移动游戏开发:Cocos2D应用开发实践指南+Cocos2D-X权威指南(京东套装共2册)
查找同类商品
  《Cocos2D应用开发实践指南:利用Cocos2D、Box2D和Chipmunk开发iOS游戏》系统讲解Cocos2D中的各种功能组件及技术实现细节,详细介绍Box2D、Chipmunk两大物理引擎的使用方法和粒子系统的原理,以及iOS游戏的性能测试和优化。  《Cocos2D-X权威指南》由资深游戏开发工程师根据Cocos2D-x的2.0.1版本撰写,内容全面,系统讲解了Cocos2D-x的功能特性、使用方法、技术要点、开发技巧、最佳实践以及性能优化,同时融入了游戏开发的思想;实战性强,每个知识点辅之以便于理解的小案例,而且通过精心设计的两款游戏案例完美呈现了Cocos2D-x游戏设计与开发的完整过程,极富启发性。
  《Cocos2D-x权威指南》内容简介:  《Cocos2D-x权威指南》是目前Coco2D-x领域内容较为全面、系统和极具实战性的一本著作,也是技术版本最新的一本著作。由国内资深的游戏开发工程师和移动应用开发工程师撰写。书中不仅系统讲解了Cocos2D-x的功能特性、使用方法、技术要点、高级知识、开发技巧、最佳实践和性能优化,还通过精心设计的游戏案例详细讲解了Cocos2D-x游戏设计与开发的完整过程,极具启发性和可操作性。更为重要的是,本书将游戏开发人员应该掌握的游戏开发思想也融入了其中。  《Cocos2D-x权威指南》共16章,分为4个部分:准备篇(第1~2章)系统介绍了Cocos2D-x的核心概念、主要功能,以及它在Windows、Android、iOS等平台下的安装、配置、交叉编译环境的搭建,为后面的开发做准备;基础篇(第3~10章)重点讲解了Cocos2D-x的功能特性、使用方法、技术要点,包括Cocos2D-x中的核心类、动作、动画、特效、文字和字体、事件处理机制、地图、声音以及物理引擎等内容,具体结合Cocos2D-x自带的tests实例进行讲解,目的是让读者全面掌握Cocos2D-x的基础理论和基本使用方法;实战篇(第11~12章)利用Cocos2D-x开发了一款纵版射击游戏和横版动作游戏,旨在让读者深入了解完整的游戏开发流程和方法,以及如何将Cocos2D-x的理论知识用到实战中,而且两种游戏分别代表了纵版卷轴和横版卷轴,可以让开发者深入了解不同类型游戏的开发思想;高级篇(第13~16章)讲解了Cocos2D-x的高级知识、开发技巧以及最佳实践,包括粒子系统、游戏中常用算法在Cocos2D-x中的实现、内存管理与性能优化,以及Cocos2D-HTML 5等方面的内容。  《Cocos2D应用开发实践指南:利用Cocos2D、Box2D和Chipmunk开发iOS游戏》内容简介:  《Cocos2D应用开发实践指南:利用Cocos2D、Box2D和Chipmunk开发iOS游戏》封底贴有Pearson Education(培生教育出版集团)激光防伪标签,无标签者不得销售。  这是一本系统的、富有趣味的、具有实战性的Cocos2D游戏开发指南。由两位资深的iOS开发工程师和游戏开发工程师撰写,Box2D创始人Erin Catto等多位专家联袂推荐。  全书以一个真实有趣的游戏案例Space Viking为主线,通过这个游戏案例的逐步迭代实现,将利用Cocos2D、Box2D和Chipmunk进行游戏开发必须掌握的各项关键技术(场景、图层、精灵、动画、动作、物理效果、粒子系统、碰撞检测、关卡设计、音效……)串联起来,系统讲解了iOS游戏开发者利用Cocos2D进行开发应该学习的理论知识,全面展示了Cocos2D游戏开发的流程、方法和技巧。此外,还介绍了粒子系统的原理,以及通过一个真实的游戏案例讲解了iOS游戏的性能测试和优化。  全书分五部分,共17章,第一部分(第1~4章)介绍了如何安装Cocos2D及如何用Cocos2D开始开发游戏,如何为游戏角色添加动画和动作;第二部分(第5~6章)介绍了如何在游戏中添加更多角色,并在此过程中介绍了Cocos2D中的动作和特效及文字功能;第三部分(第7~9章)介绍了如何通过添加菜单,使用声音和滚动来扩展游戏中的游戏关卡;第四部分(第10~13章)介绍了如何运用Cocos2D中的Box2D和Chipmunk为游戏添加特效,如重力、逼真的碰撞等,并添加了一些基于物理的关卡;第五部分(第14~17章)介绍了如何快速添加粒子系统到游戏中,如何添加成就系统和高分榜,以及如何使游戏运行得更快。本书最后是一个附录,其中介绍了Cocos2D中的关键类。
  满硕泉(bill man),资深手机游戏开发工程师和移动应用开发工程师,在Android和iOS两个平台上开发了多款游戏,对Cocos2D-x和Unity3D等游戏引擎有非常深入的研究,积累了丰富的经验。精通C++、Java、.NET和JavaScript相关的技术,近期关注HTML 5。活跃于CSDN和Cocos2D等技术社区,撰写了大量关于Cocos2D-x的文章,深受广大网友好评。  Rod Strougo,资深iOS开发工程师和游戏开发工程师,精通Cocos2D和Box2D等移动游戏开发引擎,经验丰富。Rod接触物理引擎和游戏开发的时间非常早,可以追溯到早期的Apple II,当时他使用Basic编写游戏。Rod 是Prop Group 工作室(www.prop.gr)的创始人和首席开发者,近年来热衷于帮助其他人开始游戏制作之路。  Ray Wenderlich,资深iOS开发工程师和游戏开发工程师,精通Cocos2D和Box2D等移动游戏开发引擎,经验丰富。Ray是Razeware LLC创始人,著有一系列iOS应用和苹果应用开发相关的教程,涵盖Objective-C、iPhone/iOS、Cocos2D、Corona、Unity和OpenGL等众多主题,详情请见。
  “如果你正想尝试去创造一款适用于iPhone或者iPad的游戏,那么这本书将是你的不二之选。Rod和Ray将带你亲历从创意到应用出品的整个过程,书中清晰地解释了每一个操作过程,以及进行该操作的原因。”  ――Jeff LaMarche,MartianCraft LLC 首席执行官,《Beginning iPhone Development》(Apress, 2009)的作者之一  “这本书对iOS 2D游戏开发进行了非常出色的介绍。除此之外,它还出色地介绍了Box2D。书中关于Box2D的各种细节和深度,着实给我留下了极其深刻的印象。”  ――Erin Catto,Box2D物理引擎的创建者  “警告:阅读本书将使你不得不编写游戏!本书是编写下一个流行iOS游戏的绝佳快速指南-绝对是一个有抱负的独立iOS游戏开发者的必备工具(不管你是否有经验)!感谢Rod和Ray,使我没有被陡峭的学习曲线吓倒。”  ――Eric Hayes,Brewmium公司首席工程师(独立iOS开发者)  “本书是一本非常优秀的读物,我强烈将它推荐给即将投入Cocos2D开发的iOS开发人员。这本书给了我开发iOS游戏所需的技术知识和信心,而我并不需要首先成为数学和OpenGL专家。”  ――Kirby Turner, White Peak Software公司  “本书是一本寓教于乐的教材,它涵盖了你在使用Cocos2D编写游戏时所需要的一切内容。”  ――Fahim Farook, RookSoft (rooksoft.co.nz)  “这是第一本关于Cocos2D的书!读完本书后,你会发现,你已对Cocos2D框架有了很深的理解,并且有实力去开发一些不同类型的游戏。在第一部分Rod和 Ray让你迅速掌握基础知识,而后续章节涵盖了更多高端的开发技巧,诸如视差滚动、CocosDenshion、Box2D、Chipmunk、粒子系统和Apple Game Center。本书文笔简洁生动,可读性强,是众多游戏开发者不可或缺的宝典。  ――Nick Waynik,独立iOS开发者
《Cocos2D-x权威指南》目录:前言第一部分 准备篇第1章 认识Cocos2D-x1.1 什么是Cocos2D1.1.1 Cocos2D的特点1.1.2 Cocos2D的主要功能1.1.3 Cocos2D的应用1.2 什么是Cocos2D-x1.2.1 Cocos2D-x的特点1.2.2 Cocos2D-x的主要功能1.2.3 Cocos2D-x的应用1.3 Cocos2D-x与Cocos2D-iPhone的比较1.4 本章小结第2章 搭建跨平台的开发环境2.1 Windows下的开发环境配置2.1.1 Cocos2D-x软件安装与配置2.1.2 Cocos2D-x工程目录介绍2.1.3 新建项目及交叉编译2.2 Android下的开发环境配置2.2.1 Cocos2D-x软件安装与配置2.2.2 Cocos2D-x工程目录介绍2.2.3 新建项目及交叉编译2.3 iOS下的开发环境配置2.3.1 Cocos2D-x软件安装与配置2.3.2 Cocos2D-x工程目录介绍2.3.3 新建项目及交叉编译2.4 使用Doxygen工具生成Cocos2D-x文档2.5 本章小结第二部分 基础篇第3章 Cocos2D-x中的核心类3.1 节点类3.1.1 CCNode类的成员数据3.1.2 CCNode类的函数3.1.3 坐标系简介3.1.4 实例:通过节点控制屏幕中的全体渲染对象3.2 导演类3.2.1 CCDirector类的成员数据3.2.2 CCDirector类的函数3.2.3 实例:CCDirector类的使用3.3 场景类3.3.1 如何新建一个场景3.3.2 场景的切换3.3.3 场景间切换的动画3.4 布景层类3.4.1 CCLayer类的函数3.4.2 颜色布景层类CCLayerColor3.4.3 多层布景层类CCLayerMultiplex3.4.4 菜单类CCMenu3.4.5 控件类及其子类3.5 精灵类3.5.1 CCSprite类的成员数据及函数3.5.2 贴图类CCTexture2D3.5.3 精灵批处理类CCSpriteBatchNode3.5.4 精灵帧类CCSpriteFrame3.5.5 精灵帧缓存类CCSpriteFrameCache3.5.6 实例:精灵类及其相关类的使用3.6 摄像机类3.6.1 CCCamera类的成员数据3.6.2 CCCamera类的函数3.6.3 实例:CCCamera类的使用3.7 容器类3.7.1 CCMutableArray和CCArray3.7.2 CCMutableDictionary和CCDictionary3.8 拖动渐隐效果类CCMotionStreak3.9 绘制图形3.10 时间调度3.11 本章小结第4章 Cocos2D-x中的动作、特效与动画4.1 动作类4.1.1 CCAction类的主要成员数据和函数4.1.2 基本动作4.1.3 摄像机动作4.1.4 基本样条动作4.1.5 缓冲动作4.1.6 组合动作4.1.7 跟随动作4.1.8 可调整速度动作4.1.9 动作延时4.1.10 改变动作执行对象4.1.11 函数回调动作4.1.12 过程动作4.2 动作管理类4.2.1 CCActionManager类的主要函数4.2.2 CCActionManager类的使用4.3 网格动作4.3.1 Cocos2D-x中的网格4.3.2 网格动作4.3.3 清除网格4.4 动画4.4.1 Cocos2D-x中与动画相关的类4.4.2 实例:Cocos2D-x中的动画4.4.3 使用plist配置文件实现动画4.5 本章小结第5章 Cocos2D-x中的菜单项和文本渲染系统5.1 菜单项5.1.1 标签菜单项5.1.2 精灵菜单项5.1.3 触发器菜单项5.1.4 实例:菜单项的使用5.2 文本渲染类5.2.1 CCLableAtlas类5.2.2 CCLabelTTF类5.2.3 CCLabelBMFont类5.2.4 生成FNT配置文件的工具5.3 本章小结第6章 Cocos2D-x中的事件处理机制6.1 触屏事件6.1.1 触点类CCTouch6.1.2 单/多点触摸函数6.1.3 加入触摸事件6.1.4 单点触摸实例:主角随手指移动6.1.5 多点触摸实例:缩放功能的实现6.2 加速度传感器事件6.2.1 CCAccelerometerDelegate类的函数6.2.2 实例:加速度传感器事件的使用6.3 按键事件6.3.1 CCKeypadDelegate类的函数6.3.2 实例:按键事件的使用6.4 获得用户虚拟键盘输入6.4.1 CCIMEDelegate类的函数6.4.2 CCTextFieldTTF类的函数6.4.3 实例:获得用户输入6.5 滚动列表类6.5.1 CCListView类及其相关类的函数6.5.2 实例:滚动列表类的使用6.6 本章小结第7章 Cocos2D-x中的瓦片地图集7.1 瓦片地图集及编辑器7.1.1 瓦片地图的种类及用途7.1.2 Tiled地图编辑器7.1.3 用Tiled地图编辑器编辑地图7.1.4 添加精灵层7.1.5 Tiled地图编辑器数据文件7.1.6 瓦片地图集类CCTMXTiledMap7.1.7 地图层类CCTMXLayer7.1.8 地图精灵组类CCTMXObjectGroup7.2 如何在Cocos2D-x中使用地图7.2.1 新建地图类并在地图中显示7.2.2 普通视角地图获得对应位置图素7.2.3 45度角地图获得对应位置图素7.2.4 GID值实例:种树7.2.5 地图属性数据的使用7.2.6 在地图中加入精灵7.2.7 精灵层的使用7.3 贴图地图类CCTileMapAtlas7.4 本章小结第8章 Cocos2D-x中的声音、存储和网络8.1 声音8.1.1 Cocos2D-x在不同平台下支持的声音8.1.2 SimpleAudioEngine类的常用函数8.1.3 实例:SimpleAudioEngine类的使用8.2 游戏存档8.2.1 CCUserDefault类的常用函数8.2.2 实例:CCUserDefault类的使用8.3 网络连接8.3.1 cURL基础知识8.3.2 libcurl基础知识8.3.3 实例:cURL的使用8.4 本章小结第9章 可视化场景编辑器9.1 CocosBuilder简介9.2 CocosBuilder编辑器的使用9.2.1 CocosBuilder菜单操作9.2.2 对象属性编辑9.3 CocosBuilder的使用9.3.1 CocosBuilder在Cocos2D-x中使用的相关类9.3.2 实例:CocosBuilder在Cocos2D-x中的使用9.4 本章小结第10章 Cocos2D-x中的物理引擎10.1 物理引擎10.1.1 什么是物理引擎10.1.2 物理引擎的作用10.1.3 Box2D和Chipmunk的对比10.2 Box2D物理引擎10.2.1 Box2D引擎中的重要概念10.2.2 Box2D的使用步骤10.2.3 在Cocos2D-x中使用Box2D10.3 在Cocos2D-x中使用Chipmunk10.4 本章小结第三部分 实战篇第11章 纵版射击游戏:喵星战争11.1 纵版射击游戏的特点11.2 喵星战争简介11.2.1 喵星战争的游戏规则11.2.2 喵星战争的游戏框架和界面11.3 喵星战争主游戏模块组成元素的实现11.3.1 主角小猫的实现11.3.2 敌人狗博士的实现11.3.3 鱼骨子弹的实现11.3.4 试管子弹的实现11.3.5 游戏分数的实现11.4 游戏主模块的实现11.5 游戏主菜单的实现11.6 关于界面的实现11.7 本章小结第12章 横版动作游戏:萝莉快跑12.1 横版动作游戏的特点12.2 萝莉快跑简介12.2.1 萝莉快跑的游戏规则12.2.2 萝莉快跑的游戏框架和界面12.3 萝莉快跑主游戏模块组成元素的实现12.3.1 主角萝莉的实现12.3.2 星星的实现12.3.3 地图的实现12.4 游戏主模块的实现12.5 游戏主菜单的实现12.6 关于界面的实现12.7 本章小结第四部分 高级篇第13章 粒子系统13.1 什么是粒子系统13.1.1 粒子系统的特点13.1.2 粒子系统的构成13.2 Cocos2D-x中的粒子系统13.2.1 粒子系统基类CCParticleSystem13.2.2 放射式粒子系统CCParticleSystemQuad13.3 在Cocos2D-x中使用粒子系统13.3.1 新建一个粒子系统CCParticleSystemQuad类13.3.2 直接使用CCParticleSystemQuad类的子类创建粒子系统13.3.3 使用粒子编辑器创建粒子系统13.3.4 “清理”粒子系统13.4 支持Cocos2D-x的粒子编辑器13.4.1 Windows粒子编辑器Cocos2d Particle Editor13.4.2 粒子编辑器Particle Designer13.5 本章小结第14章 游戏中常用算法在Cocos2D-x中的实现14.1 A星算法14.1.1 启发式搜索算法原理14.1.2 什么是A星搜索14.1.3 A星算法在Cocos2D-x中的实现14.2 碰撞检测14.2.1 碰撞检测的基本思想14.2.2 碰撞检测在Cocos2D-x中的实现14.3 本章小结第15章 内存管理与性能优化15.1 Cocos2D-x中的内存管理15.1.1 Cocos2D-x内存管理的原则15.1.2 Cocos2D-x中的图片处理15.2 Cocos2D-x对图片渲染的控制15.2.1 CCRenderTexture的使用15.2.2 Cocos2D-x中绘制方法的对比15.3 Cocos2D-x中处理图片的方法15.3.1 高清图片的处理15.3.2 抗锯齿处理15.3.3 Mipmap处理15.3.4 获得贴图数和大小15.4 多语言混编Cocos2D-x15.4.1 Cocos2D-x中调用Objective-C15.4.2 Cocos2D-x中调用Java15.5 Cocos2D-x的调试15.5.1 Visual Studio中的调试方法15.5.2 Eclipse中的调试方法15.5.3 Xcode中的调试方法15.6 Android中画面的缩放问题15.6.1 等比例缩放15.6.2 非等比例缩放15.7 本章小结第16章 Cocos2D的分支Cocos2D-HTML516.1 认识HTML516.2 如何使用Cocos2D-HTML516.2.1 搭建Cocos2D-HTML5的开发环境16.2.2 Cocos2D-HTML5 2.0版本的新特性16.2.3 Cocos2D-HTML5的HelloWorld项目介绍16.3 Cocos2D-x的未来16.4 本章小结附录 Cocos2D-x中常见的宏《Cocos2D应用开发实践指南:利用Cocos2D、Box2D和Chipmunk开发iOS游戏》目录:本书赞誉译者序前言第一部分 Cocos2D初接触第1章 你好,Cocos2D1.1 下载和安装Cocos2D1.1.1 下载Cocos2D1.1.2 安装Cocos2D模板1.2 创建你的第一个Cocos2D应用HelloWorld1.2.1 查看Cocos2D模板1.2.2 构建Cocos2D HelloWorld项目1.2.3 使HelloWorld更上一层楼1.2.4 添加移动1.3 为更好奇的读者:理解Cocos2D HelloWorld1.3.1 场景和节点1.3.2 开始1.3.3 进一步探索Cocos2D源代码1.4 安装CCHelloWorld到iPhone或iPad上1.4.1 让Xcode为你做所有事情1.4.2 为iPhone或iPad构建应用1.5 小结1.6 习题第2章 你好,Space Viking2.1 创建Space Viking项目2.2 创建Space Viking类对象2.3 创建背景层2.4 GamePlayer层:把维京海盗Ole加入游戏中2.5 GameScene类:把层与场景连接起来2.6 Cocos2D Director2.7 添加运动2.7.1 导入JoyStick类2.7.2 添加JoyStick和按键2.7.3 将JoyStick运动应用于维京海盗Ole2.8 纹理图集2.8.1 纹理和纹理图集的技术细节2.8.2 创建场景1纹理图集2.8.3 添加场景1纹理图集到Space Viking2.9 为更好奇的读者:测试CCSpriteBatchNode2.10 在iPhone 3G和老旧设备上调校性能2.11 小结2.12 习题第3章 Cocos2D动画和动作概述3.1 Cocos2D中的动画3.2 Space Viking设计基础3.3 Cocos2D动作和动画基础3.4 使用属性列表文件存储动画数据3.5 组织、常量和通用协议3.5.1 创建常量文件3.5.2 通用协议文件3.6 GameObject和GameCharacter类3.6.1 创建GameObject3.6.2 创建GameCharacter类3.7 小结3.8 习题第4章 简单碰撞检测和第一个敌人4.1 创建RadarDish和Viking类4.1.1 创建RadarDish类4.1.2 创建Viking类4.2 最终步骤4.3 小结4.4 习题第二部分 更多敌人和更多乐趣第5章 更多动作、特效和Cocos2D调度器5.1 道具5.1.1 Mallet道具5.1.2 Health道具5.1.3 空间货运飞船5.2 敌人机器人5.3 添加PhaserBullet5.4 GameplayLayer和Viking更新5.5 为更好奇的读者:Cocos2D中的特效5.5.1 Space Viking中有趣的特效5.5.2 运行EffectsTest5.5.3 将精灵和对象恢复正常5.6 小结5.7 习题第6章 文字、字体和书面语6.1 CCLabelTTF类6.2 理解锚点和对齐6.3 CCLabelBMFont6.4 使用Glyph Designer字体设计器6.5 使用Hiero字体构建工具6.6 为更好奇的读者:实时调试6.6.1 更新EnemyRobot6.6.2 更新GameplayLayer6.6.3 文字调试器的其他应用6.7 小结6.8 习题第三部分 从关卡到游戏第7章 主菜单、关卡完成和致谢场景7.1 Cocos2D中的场景7.2 GameManager概述7.3 Cocos2D中的菜单7.4 场景组织与图像7.5 创建主菜单7.5.1 创建MainMenuScene7.5.2 MainMenuLayer类7.6 其他菜单和GameplayLayer7.6.1 导入Intro、LevelComplete、Credits和Options场景及层7.6.2 GameplayLayer7.6.3 修改SpaceVikingApp-Delegate类7.7 为更好奇的读者:IntroLayer类和LevelComplete类7.8 小结7.9 习题第8章 添加音效8.1 CocosDenshion概述8.2 导入并设置音频文件8.2.1 为Space Viking添加音频8.2.2 音频常量8.3 同步异步加载音频的比较8.3.1 同步加载音频8.3.2 异步加载音频8.3.3 添加音频到GameManager8.4 添加SoundEngine到GameObject8.5 为EnemyRobot添加声音8.6 为Ole添加音效8.7 为菜单场景添加音乐8.7.1 为Gameplay添加音乐8.7.2 为MainMenu添加音乐8.8 为更好奇的读者:如果你需要更多音频控制8.9 小结8.10 习题第9章 当世界变得更大:添加滚动9.1 为更广阔的世界添加逻辑9.2 创建更广阔的世界9.2.1 创建第2个游戏场景9.2.2 创建滚动层9.3 与视差层一起滚动9.4 无限制滚动9.4.1 创建滚动层9.4.2 创建平台场景9.5 瓷片地图9.5.1 安装Tiled工具9.5.2 创建瓷片地图9.5.3 Cocos2D压缩TileMap类9.5.4 添加TileMap到ParallaxNode9.6 小结9.7 习题第四部分 物 理 引 擎第10章 基础游戏物理学:用Box2D增加现实性10.1 开始10.1.1 关于死亡的疯狂梦想10.1.2 创建新场景10.1.3 添加Box2D文件到你的项目10.1.4 Box2D单位10.2 你好,Box2D10.2.1 创建Box2D对象10.2.2 Box2D调试绘制10.2.3 整合所有元素10.2.4 创建地面10.3 基础Box2D交互和装饰10.3.1 拖动对象10.3.2 质量、密度、摩擦力和弹性10.3.3 用精灵装饰Box2D形体10.4 制作一个Box2D解谜游戏10.5 小结10.6 习题第11章 中级游戏物理学:建模、竞速和跨越11.1 开始11.1.1 添加资源文件11.1.2 创建基本的Box2D场景11.2 用Box2D创建一个小车11.2.1 用Box2D创建一个定制图形11.2.2 使用Vertex Helper工具11.2.3 用Box2D旋转关节添加轮子11.3 让小车移动和跳跃11.3.1 利用加速计使小车移动11.3.2 让它可滚动11.3.3 力和冲量11.3.4 固定倾卸台11.3.5 让小车跳跃11.3.6 更灵敏的转向11.4 小结11.5 习题第12章 高级游戏物理学:更真实的物体12.1 关节和人偶:带Ole回到场景12.1.1 限制旋转关节12.1.2 使用柱状关节12.1.3 如何在恰当地点创建多个形体和关节12.1.4 添加Ole:实现12.2 添加障碍物和桥梁12.2.1 添加桥梁12.2.2 添加尖刺12.2.3 添加改良的主循环12.3 关底战斗12.3.1 危险的挖掘机12.3.2 最后一击:添加通关后电影序幕12.4 小结12.5 习题第13章 Chipmunk物理引擎(不需要Alvin)13.1 Chipmunk引擎是什么13.2 Chipmunk引擎入门13.2.1 添加Chipmunk引擎到你的项目中13.2.2 创建基本的Chipmunk引擎场景13.3 添加精灵并使它们移动13.3.1 通过直接设置速度跳跃13.3.2 通过设置表面速度移动地面13.3.3 地面碰撞检测13.3.4 Chipmunk引擎裁判器和法线13.3.5 碰撞检测实现13.3.6 移动和跳跃实现13.4 Chipmunk引擎和约束13.4.1 旋转平台13.4.2 枢轴、弹簧和普通平台13.5 伟大的逃脱13.5.1 跟随Ole13.5.2 布局平台13.5.3 Ole动画序列13.5.4 音乐和音效13.5.5 添加背景13.5.6 添加赢/输条件限制13.6 小结13.7 习题第五部分 粒子系统、游戏中心和性能第14章 粒子系统:创建火焰、雪花、冰和更多14.1 内置粒子系统14.1.1 运行内置粒子系统14.1.2 在沙漠中降雪14.2 粒子设计器入门14.3 为Space Viking创建并添加粒子系统14.4 小结14.5 习题第15章 游戏中心的成就系统和高分榜15.1 什么是游戏中心15.2 为你的应用启用游戏中心15.2.1 获取iOS开发者账号15.2.2 为应用创建一个应用程序ID15.2.3 在iTunes里注册你的应用15.2.4 启用游戏中心支持15.3 游戏中心身份验证15.3.1 确定游戏中心可用15.3.2 尝试给玩家进行验证15.3.3 如果验证状态发生变化则告知15.3.4 实现15.4 配置成就系统15.4.1 添加成就系统到iTunesConnect15.4.2 成就系统如何工作15.5 实现成就系统15.5.1 创建游戏状态类15.5.2 为加载和保存数据创建帮助函数15.5.3 修改GCHelper以发送成就数据15.5.4 在Space Viking中使用GameState和GCHelper15.5.5 在应用中显示成就15.6 设置并实现高分榜15.6.1 在iTunes Connect里设置高分榜15.6.2 高分榜的工作原理15.6.3 实现高分榜15.6.4 在游戏中显示高分榜15.7 小结15.8 习题第16章 性能优化16.1 CCSprite与CCSpriteBatchNode比较16.1.1 测试性能差别16.1.2 对纹理和纹理图集的建议16.2 复用CCSprite16.3 Cocos2D分析器16.4 用Instruments发现性能瓶颈16.4.1 时间分析器16.4.2 OpenGL Driver Instrument16.5 小结16.6 习题第17章 结束语17.1 展望未来17.2 Android及其他平台17.3 最后的思考附录 Cocos2D的主要类
  前  言  你想成为一个游戏开发者吗?  为iPhone或iPad开发游戏可以获得极大乐趣。这是少数几件能让你找回童年感觉的事情之一。似乎每个人都有关于游戏的创意,还有比iPhone和iPad更好的开发平台吗?  游戏开发涵盖广泛的计算机科学技能-图形、音频、网络,有时让人应接不暇而失去信心,这是阻碍大部分人真正着手开发游戏的原因。当首次开始时,能自如运用Objective-C语言可能已经是一个艰巨的任务,尤其是看到OpenGL ES、OpenAL和其他低层游戏应用程序接口时,会感到更加困难。  为iPhone和iPad开发游戏不需如此困难,的确如此。对于简化2D游戏开发任务,没有比Cocos2D更有远见的做法了。  我们不再需要为制作iPhone游戏而不得以使用低层OpenGL编程API,同时你不需要是数学或物理专家。当前有一个更快捷、更方便的途径-使用流行且免费的开源游戏开发框架Cocos2D。Cocos2D非常有趣且易于使用,使用它你可以跳过低层细节,专注于使游戏与众不同。  本书教授如何使用Cocos2D制作自己的游戏,现在就引导你一步步领略制作一个真正的苹果应用软件商店(App Store)游戏的过程!本书中编写的游戏名为"Space Viking",讲述了一个厉害的维京海盗被传送到陌生星球的故事。在游戏制作过程中,可以获得使用Cocos2D框架所有重要元素的直接经验,并了解到每个元素如何相互协作而成为一个完整的游戏。  下载游戏  你可以从苹果应用软件商店下载Space Viking游戏:/us/app/ space-vikings/idmt=8。这个游戏是免费的,所以继续并且下载游戏,开始运行游戏,看看你是否足够厉害,可以将游戏打通关。  这部史诗般教程将向你展示如何使用Cocos2D制作一款真正的游戏。书中有许多代码可供实践,与此同时我们会解释每个步骤。当你读完本书并完成相应的编码后,你将完成一个完整的游戏。最棒的是,你将获得制作自己的游戏项目所需的知识和信心。  书中每一章会详细介绍游戏中的一个特定组件,以及支撑它所需的技术,不管是瓷片地图编辑器(tile map editor),还是我们用Cocos2D、Box2D及Chipmunk创建的一些特效。在完成功能和技术介绍后,该章还会详细介绍如何在Space Viking游戏中实现该组件。这种理论与实践相结合的方式填补了其他游戏开发书籍的空白。  Cocos2D是什么  Cocos2D(www.cocos2d-iphone.org)是一个开源的、基于Objective-C开发语言的、专注于iOS和Mac OS X平台的2D游戏开发框架,可以为 iPhone、iPad、iPod Touch、Mac等硬件设备开发游戏。Cocos2D既可以作为库文件导入Xcode创建的项目中,也可以在使用Cocos2D模板创建新游戏时自动添加进去。  Cocos2D框架使用OpenGL ES类库进行图形渲染,让用户在目标设备上获得图形处理器(GPU)的极高速度和性能。Cocos2D框架还有许多其他特性和能力,通过本书你会逐渐了解到。  Cocos2D起初是一个用于2D游戏编写的Python框架。2008年年底,它被移植到iPhone平台,并使用Objective-C重写。现在已被广泛移植到Ruby、Java(Android)和Mono(C#/.NET)上。  注意 Cocos2D有一个充满活力的、积极的支持者与贡献者社区。Cocos2D论坛(www.cocos2d-iphone.org/forum)非常活跃,是学习和解决问题的一个非常优秀的资源,同时该论坛积极跟踪着Cocos2D的最新发展。  为什么应该使用Cocos2D  Cocos2D框架可使开发者避免纠缠于低层API,集中精力在游戏项目核心上。App Store这个市场流动性很强,经常发生变化。快速创建游戏原型并将其开发出来是在App Store获得商业成功的关键,而Cocos2D是避免陷入学习OpenGL ES或OpenAL的泥潭,快速开发游戏项目的最佳工具。  Cocos2D也同样自带大量工具类,例如TextureCache(纹理缓存),它能自动缓存图形,支持游戏快速平滑播放。 TextureCache在后台运行,是许多你甚至不用知道如何使用的Cocos2D功能中的一个,这些功能对你是显而易见的。其他有用的工具包括字体渲染、精灵表(sprite sheet)、强大的声音系统等。  Cocos2D是一个极佳的原型开发工具,能帮助你在一小时内(无论如何不会超过你阅读第2章所花费的时间)快速开发出属于你的游戏。你阅读本书是因为你想要为iPhone、iPad设备开发游戏,而毫无疑问,使用Cocos2D是达到此目的的最快方式。  Cocos2D关键特性  你仍然不确定Cocos2D是否合适?好吧,看看这些可以使你在制作下一个游戏时轻松许多的Cocos2D的惊人特性。  动作  动作(Action)是Cocos2D中最强大的功能之一。动作可以让你轻松地移动、缩放、控制精灵和其他对象。举个例子,在5秒内平滑地移动太空货运飞船,在屏幕上向右前进400像素的距离,需要的所有代码如下:  就是这样,只有两行代码!图P.1阐释了作用于太空货运飞船的moveAction。  图P.1 阐释了作用于太空货运飞船精灵的moveAction的效果  在Cocos2D中有许多内置动作:旋转、缩放、跳跃、闪烁、淡入淡出、着色、动画序列等。也可以把一些动作串联在一起,并且用很少的代码调用自定义回调得到很棒的效果。  内置字体支持  Cocos2D使得文本的处理变得很方便,这对于游戏的菜单系统、分数显示、调试,以及更多功能十分重要。Cocos2D包含嵌入TrueType字体支持,也包含一个快速位图字体渲染系统,所以只需要几行代码就可以在屏幕上显示文本。  庞大的特效库  Cocos2D包含一个强大的粒子系统,可以很方便地为游戏添加诸如烟雾、火焰、雨滴和雪花等很酷的特效。Cocos2D也内置了诸如翻转、渐现渐隐等游戏中屏幕间转换的特效。  理想的瓷片地图游戏支持  Cocos2D包含对瓷片地图(tile-mapped)游戏的内置支持,当拥有一个由微小的可复用图片组成的巨大游戏世界时,这是非常有用的。Cocos2D也使得来回移动摄像机(camera)以滚动背景或层变得很方便。最后,Cocos2D也支持视差滚动,从而赋予游戏3D深度错觉和透视效果。  音频/声音支持  Cocos2D中的声音引擎允许你方便地使用OpenAL的强大威力,而不用关心低层API。使用Cocos2D声音引擎,只需要一行代码即可播放背景音乐或音效。  两个强大的物理引擎  Cocos2D捆绑了两个强大的物理引擎,Box2D和Chipmunk,它们对游戏来说都是很棒的。使用这两个物理引擎,你可以为游戏营造前所未有的真实感,并创建出全新的游戏类型-而不需要是一个数学大师。  重要概念  在开始之前,重要的是确保你熟悉关于Cocos2D和游戏编程通用的一些重要概念。  精灵  可以看到术语"精灵"(sprite)经常使用在游戏开发中。精灵是一个可以独立于其他图像在屏幕上移动的图像,可以是玩家角色、敌人,或者是用于背景中的一张大图。实际上,精灵主要由PNG或PVRTC格式的图像文件构成。一旦被加载到内存中,精灵通过iPhone GPU转换成纹理,渲染到屏幕上。  单例  单例(singleton)是一个特殊类型的Objective-C类,它只有一个实例。一个例子是,iPhone应用委托类(Application Delegate class),或Cocos2D中的Director类。在代码中调用一个单例实例时,无论是哪个类调用它,总是会获取到这个类的唯一一个实例对象。  OpenGL ES  OpenGL ES是一个移动版本(ES表示嵌入式系统,Embedded System)的开放图形语言(Open Graphics Language, OpenGL)。它是你在iPhone或iPad上将0和1发送给GPU的最常用语言。OpenGL ES是在iPhone或iPad上渲染图形的最快方式,由于它的起源,它是一个低层的应用程序编程接口。如果你是一个游戏开发新手,会觉得OpenGL ES很难学习,但是幸运的是使用Cocos2D不需要了解OpenGL ES。  在iPhone和iPad上,支持两个版本的OpenGL ES,即OpenGL ES 1.1和2.0。Cocos2D中计划支持OpenGL ES 2.0,但当前只支持1.1版本。  语言和屏幕分辨率  Cocos2D由Objective-C语言编写而成,与编写Cocoa Touch类库和主要的Apple iOS API的语言相同。在Objective-C中,了解一些基本的内存管理技术是很重要的,因为它是让你在iOS平台上成为一个高效游戏开发者的基础。Cocos2D支持从最早期的iPhone到iPad再到iPhone 4上的视网膜屏(retina)显示,支持所有设备的原生分辨率。  2D与3D  要想跑得先学会走。游戏开发也是如此,在潜心于3D游戏的更深层概念之前,要学习如何制作2D游戏。在Cocos2D中有一些3D特效和转换,例如一个3D声波特效和一个轨道摄像机移动,然而,大部分功能是面向2D游戏和图形的。  Cocos2D是为2D游戏设计的(因此名字中有2D字眼),所以本书中的指南和例子也是2D的。如果想要制作3D游戏,你要考虑不同的框架,例如Unity、Unreal Engine(虚幻引擎),或直接使用OpenGL。  本书背后的游戏:Space Viking  本书将带你体验为iPhone和iPad创建一个全功能的基于Cocos2D的游戏的全过程。在本书中创建的游戏名为Space Viking。如果想要现在尝试一下游戏,可以在App Store(/us/app/id)下载一个游戏的免费版本,并且在iPhone、iPod touch或iPad上安装它。  当然,如果你更有耐心,可以在学完本书后,构建属于自己的游戏,并且在设备上加载它。没有比有能力测试自己构建的游戏更美妙的学习经历了。  你不仅可以学到如何构建游戏,还可以回过头去,调整一下代码以改变相关的事情,去看看对游戏体验有哪些具体影响。好东西只给善于等待的人。  本书将教你如何使用Cocos2D的全部特性和能力,但更为重要的是,如何把它们应用于真正的游戏中。在学完本书后,你将拥有在App Store发布游戏的必要知识和经验。从构建Space Viking游戏学得的概念适用于从动作到解谜等不同种类的游戏。  Space Viking的故事  每个游戏都从创意开始,用角色和故事情节将其转化成游戏。这里是Space Viking的故事。  在未来,地球上的人类后裔被迫殖民到太阳系之外的行星。为了创造气候宜人的环境,庞大的星际机器在北欧和格陵兰岛采掘巨大的冰块,横跨星系运送到这些星球。科学家们不清楚,在这些冰块的一块中包裹着北欧海盗Ole,他在亿万年前,在击败入侵蛮族回家的路上跌入了冰冷的河水中,被装在一个冰冷的坟墓中过了许多世纪,由于外星太阳的温暖,Ole在几千年后苏醒-距离家乡几光年之外,如图P.2所示。  你开始扮演维京海盗Ole,并且与外星人战斗在陌生的世界中,希望找到一条路让Ole回到他的故乡和时代。  使用屏幕左侧的拇指游戏操纵杆,控制Ole左右移动。右侧是跳跃和攻击按键。开始Ole只使用双拳。在后来的关卡(level)Ole找到了他信赖的木槌,在物理关卡使用加速计控制Ole。  Space Viking是一个动作冒险类游戏,动作是其重点。我们的目标是从无到有创建一个真正的游戏,所以可以学习到不只是Cocos2D的知识,还有如何在一个全功能的游戏中使用它。游戏创意来自概念艺术家、图形艺术家Eric Stevens和其他一些资深游戏玩家,在开发早期我们共同讨论了这个游戏创意。  Space Viking由许多关卡构成,每个关卡展示Cocos2D或游戏类型的一部分。例如,第一关是一个横向滚动的生死战(beatem up),第四关是一个小车竞速关卡,这个关卡展示了来自Box2D和Chipmunk引擎的游戏物理效果。我们希望你可以在完成本书后,复用Space Viking游戏的一部分,制作自己的游戏!没错,你可以自由地复用本书中的代码来构建自己的游戏。  本书的组织结构  本书的目标是随着构建Space Viking游戏讲解关于使用Cocos2D开发游戏的知识(了解更多关于探索和维京海盗Ole的故事)。我们将从一个简单的关卡和一些基本的游戏机制开始,通过努力提升以创建使用物理系统和粒子系统的关卡,最终到本书末尾完成游戏。  首先学习Cocos2D的基础知识,用Ole的基本的奔跑和跳跃移动创建一个小的关卡。第二部分展示如何为Space Viking添加动画序列(animation)、动作、特效和文字。第三部分游戏更进一步,添加更多关卡和场景、声音和滚动的游戏体验。在第四部分中,用Box2D和Chipmunk物理引擎把真实感带到游戏中。最终在第五部分中,学习如何添加粒子系统、添加高分榜、连接到社交网络,以及调试优化Space Viking以为未来构建游戏找出最佳实践。  本书中有17章和一个附录,每章处理创建Space Viking的一个特定部分。  第一部分  学习如何安装Cocos2D并且开始使用它创建Space Viking。  学习如何为Ole和他的敌人添加动画序列,并让他们运动。  □ 第1章  本章介绍如何在Xcode中安装Cocos2D框架和模板,以及一些方便游戏开发的配套工具。这些工具都可以免费使用,并且有助于创建Cocos2D使用的元素。  □ 第2章  这里创建了Space Viking的基础,这个游戏贯穿全书。起初只是一个基本的Cocos2D模板,并且添加英雄(维京海盗Ole)到屏幕上。在本章的第二部分,添加处理触摸输入的方法,包括来回移动Ole,并使他跳跃。  □ 第3章  在本章中,通过给Ole在屏幕上移动时添加动画序列,学习如何让游戏看起来更具有真实性。  □ 第4章  在本章中,学习如何实现简单的碰撞检测,以及添加第一个敌人到Space Viking游戏中,这样Ole可以开始战斗以离开这个星球!  第二部分  学习如何为Ole的战斗创建更复杂的敌人,在此过程中学习Cocos2D动作和特效。使用Cocos2D文本功能,完成一个现场的、屏幕上的调试系统。  □ 第5章  动作是Cocos2D中的一个关键概念-是来回移动对象、使它们变大或者消失等的简单方式。在本章中,通过添加道具和武器到关卡实践它们(动作),并学习其他一些重要的Cocos2D能力,例如特效和调度器(scheduler)。  □ 第6章  大部分游戏中都有文字,Space Viking也不例外。在本章中,学习使用Cocos2D中不同的可用方法,将文字添加到游戏中。  第三部分  学习如何通过添加菜单、使用声音和滚动,来扩展已经构建完整的Space Viking游戏关卡。  □ 第7章  几乎所有的游戏都不止一个"屏幕"(screen,或称"场景"(scene),在Cocos2D中称为场景),通常至少是主菜单、主游戏场景、关卡完成和致谢场景。在本章中,通过在Space Viking中实现它们来学习如何创建多场景。  □ 第8章  在游戏中添加音效和音乐,可以大大提升游戏体验。Cocos2D使用CocosDenshion声音引擎使这变得十分简单,所以本章中,尝试一下它!  □ 第9章  大部分游戏都有一个单一屏幕不能容纳的世界,所以这个世界需要随着玩家的移动而滚动。正确处理这个问题是一个技巧,所以本章展示如何转换一个"生死战"为横向滚动(sidescroller),使用Cocos2D瓷片地图以提高效率。  第四部分  Box2D和Chipmunk物理引擎包含在Cocos2D中,可用来为游戏添加惊人的特效,例如重力、逼真的碰撞,甚至人偶动画(ragdoll)效果。在这个部分将为Space Viking添加一些基于物理(physics-based)的从简单到高级的关卡。  □ 第10章  正如Cocos2D可以使你在不了解OpenGL低层细节的情况下,很容易地为iPhone制作游戏一样,利用Box2D你可以很容易地为游戏对象添加物理效果,而不必是一个数学专家。在本章中,通过创建一个对象根据重力移动的有趣的解谜游戏,来学习如何开始使用Box2D。  □ 第11章  在本章中,通过启动横向滚动小车竞速游戏,展示了一些Box2D可以处理的纯粹的物体。在此过程中,你将学习如何模拟任意形状的图形、添加物理形体的关节移动约束,以及更多内容!  □ 第12章  在本章中,通过添加要躲避的尖刺和史诗般的关底战,为小车竞速关卡添加更多令人惊叹的效果。将学习关节、如何检测碰撞,以及如何为敌人添加逻辑。  □ 第13章  Cocos2D自带的第二个物理引擎名为Chipmunk,与Box2D相似。本章展示了如何使用Chipmunk引擎,将其与Box2D进行比较,以及通过制作一个银河战士风格的逃逸关卡,帮读者获得直接的实践经验。  第五部分  学习如何快速创建粒子系统并将其添加到游戏中,如何为在线高分榜和成就系统整合苹果游戏中心(Apples Game Center),以及一些性能主题和技巧以使游戏运行得更快。  □ 第14章  使用Cocos2D的粒子系统可以为游戏添加一些令人惊叹的特效-极其简单!在本章中,将学习如何使用粒子系统为Space Viking添加一些特效,例如飞船尾焰。  □ 第15章  利用苹果游戏中心,可以十分方便地为游戏添加成就系统和高分榜,对玩家来说会有更多的乐趣,也可能会帮助提高销量。本章介绍如何在Space Viking中一步步设置。  □ 第16章  在本章中,将学习如何解决优化中要面对的一些常见挑战和问题,以及最大程度优化和完善Cocos2D游戏。你可以获得最常用的调试性能问题的经验和解决方案。  □ 第17章  最后一章回顾了所学的知识,并且介绍下一步的方向:3D,在其他平台(例如Android)使用Cocos2D以及更多高级的游戏开发主题。  □ 附录  附录提供了一个Cocos2D中将要使用的主要类的概述。  此时你已经完成了本书的阅读,将拥有从头制作一个很棒的游戏的实际经验!可以采用所学到的概念(甚至是一些代码),把自己的游戏变成现实。  本书的读者  本书的读者包括那些迟迟不愿进行游戏开发的开发人员,因为他们认为学习会很漫长、很复杂。许许多多的开发者有编写游戏的意愿,但是不清楚从哪里入手游戏开发或Cocos2D框架。本书是一本指南,引导你从非常初级的Cocos2D使用到运用Box2D和Chipmunk物理引擎中的高级物理概念。  本书是针对有兴趣在包括iPhone、iPad和iPod touch等iOS设备上创建游戏的开发者。本书假定读者对Objective-C、Cocoa Touch和Xcode工具有基本的了解。不需要了解任何低级应用程序接口(Core Audio、OpenGL ES等),因为这些都是在Cocos2D内部使用的。  本书的目标读者  如果你已经在为其他平台的iPhone开发应用程序,但是想要从功能应用转移到游戏,那么本书很适合你。本书基于读者已掌握的开发知识,通过介绍术语、技术和必要的工具,以及一个真实的游戏实现例子,引领读者步入游戏开发的世界。  非本书的目标读者  如果读者已经理解创建一个游戏必要的工作流,或者有一个坚定的游戏创意必须要为3D图形使用OpenGL ES,那么本书不适合这样的读者。  我们期望,在阅读本书之前,读者已经熟悉了Objective-C、C、Xcode和Interface Builder。虽然本书中所描述的实现已经尽可能简单,对C语言的使用也是最低限度的,但这些语言的坚实基础是必备的。  以下书籍可以帮助提供通读本书的必要背景知识:  这些书和其他能在网络上找到的资源,将帮助读者学习更多在Mac和iPhone上编程的方法,让读者更深入地了解Objective-C语言和Cocoa框架的知识。  源码、视频指南和论坛  获取信息不局限于本书。还有完整的(也包括Space Viking的全部源代码)源码和视频指南(可以在下载)可帮助读者掌握每章介绍的概念。  贯穿全书有大量的代码和习题,所以假定读者已经获取了苹果开发工具,例如Xcode和iPhone SDK。所有这些工具都可以从苹果iPhone开发中心下载:/iphone。  在阅读本书时,如果想与同行交流,可以访问本书的论坛/forums/。  致谢  如果没有以下这些人的辛勤工作、热心投入以及全力支持,本书不会完成:  首先,感谢我们的编辑Chuck Toporek及其助手Olivia Basegio。Chuck在完成本书的过程中给予了我们太多的耐心帮助和鼓励(尽管我们两个都是第一次写书),并协调管理了把一个简单的Word文档变成读者今天手中所捧的这本书的全部工作。Olivia在整本书编写过程中,对成员间的工作协调以及技术评审有着巨大的贡献。再次感谢你们使本书得以问世!  另一位我要感谢的人是Addison-Wesley公司的Chuti Prasertsith,他为本书精心设计了封面。  衷心感谢Cocos2D的主开发者兼协调者Ricardo Quesada(也被称为Riq),以及其他的Cocos2D贡献者,如Steve Oldmeadow及其他同仁。如若没有Riq团队的苦心经营和他们的奉献精神,便不会有Cocos2D今天所拥有的完善框架和社区,更不会有这本书的诞生。同时,我们相信Cocos2D已经给很多人的生活带来了颠覆性的改变,使他们梦想拥有专属于自己游戏的愿望得以实现。Riq把Cocos2D作为他的全职工作,如果你想感谢他为本书所做出的辛勤付出,可以登录www.cocos2d-iphone.org/store为他捧场。Riq也出售他的游戏Sapus Tongue的源代码,以及一个名为Level-SVG的优秀物理编辑器。想了解更多的内容,请登录 。  感谢Erin Catto(Box2D首席开发者)和Scott Lembcke(Chipmunk首席开发者)在非凡的物理引擎库上的工作。如Riq对Cocos2D所做出的贡献一样,Erin和Scott的团队使无数程序员得以更加轻松快捷地写好一款很炫酷的基于物理的游戏。Erin和Scott极其投入地专注于对物理库和社区的支持与维护,并抽出时间来评审本书中物理引擎相关的章节。如果你想为Erin或者Scott在物理引擎库上的辛勤工作捐款,可以访问以下链接:www.box2d.org和/p/chipmunk-physics。  十分感谢Cocos2D声音引擎CocosDenshion的首席开发者Steve Oldmeadow。Steve评审了音频章节。Steve的付出使很多游戏开发者可以快速轻松地为他们的游戏添加音乐和音效。  Eric Stevens是美国杰出艺术家、兼职游戏插画家。他和我们紧密合作,制作了游戏中的所有音效(包括Ole苏醒)。Eric维护着插画站点http://imagedesk.org,你可以在美国西南部的几个画廊上以及看到他的作品。  音乐家Mike Weiser为Space Viking游戏制作了摇滚声轨和音效。我们认为音乐使Space Viking游戏与一般游戏有巨大的不同,真正给了我们期许的音乐气氛。特别感谢Andrew Peplinski的维京海盗呼噜声和Rulon Brown带来的在游戏开始时听到的和声。Mike为许多流行的iOS游戏制作了音乐,可以在了解更多他的作品。  万分感谢我们的技术审校:Farim Farook、Marc Hebert、Mark Hurley、Mike Leonardi,以及Nick Waynik。这些工作伙伴及时地纠正在整个过程中我们正要犯下的愚钝错误,并为我们提供了很多的意见,这促使我们更好地完成了全书的每一章,非常感谢你们,我的伙伴们!  我们每一个人心中都还有很多感谢的话想说。  Rod Strougo的致谢  十分感谢我的妻子和家人在我全身心投入此书的写作中时,对我能够如此耐心。曾经有无数个夜晚,我埋头在办公室里,写作、编辑以及写代码。假如没有Agata的支持和理解,这本书将不可能存在。我的大儿子Alexander在这本书完成的过程中,也扮演着十分重要的角色,他协助完成了Space Viking的测试工作,我的孩子Anton在我完成最后一章的时候出生了。Agata,感谢你所给予我的所有鼓励、爱和支持。我还要感谢Ray的参与,Ray完成了Box2D、Chipmunk和Game Center章节的编写。Ray非常出色地完成了对Box2D和 Chipmunk的深度覆盖,并为Space Viking增添了很多有趣的关卡。  Ray Wenderlich的致谢  首先,十分感谢我的妻子,也是我最好的朋友,Vicki Wenderlich,感谢她在我写作本书的整个过程中对我一如既往的支持,给我鼓励并提供宝贵意见。没有她的帮助,我今天无法制作iOS应用,它们不可能像现在这样出色!此外,也要感谢我的家人。你们信任我,伴我走过作为一名iOS独立开发者的起起伏伏,支持我一路走来。非常感谢你们!  最后,感谢我的iOS教程博客的所有读者和支持者。没有你们的关注、鼓励和支持,我将失去继续完成教程的动力,也许将会和出版此书的机会失之交臂。万分感谢你们,让这本书的出版成为现实,同时我也希望你们都能喜欢这本书。
  “如果你正想尝试去创造一款适用于iPhone或者iPad的游戏,那么这本书将是你的不二之选。Rod和Ray将带你亲历从创意到应用出品的整个过程,书中清晰地解释了每一个操作过程,以及进行该操作的原因。”  ――Jeff LaMarche,MartianCraft LLC 首席执行官,《Beginning iPhone Development》(Apress, 2009)的作者之一  “这本书对iOS 2D游戏开发进行了非常出色的介绍。除此之外,它还出色地介绍了Box2D。书中关于Box2D的各种细节和深度,着实给我留下了极其深刻的印象。”  ――Erin Catto,Box2D物理引擎的创建者  “警告:阅读本书将使你不得不编写游戏!本书是编写下一个流行iOS游戏的绝佳快速指南-绝对是一个有抱负的独立iOS游戏开发者的必备工具(不管你是否有经验)!感谢Rod和Ray,使我没有被陡峭的学习曲线吓倒。”  ――Eric Hayes,Brewmium公司首席工程师(独立iOS开发者)  “本书是一本非常优秀的读物,我强烈将它推荐给即将投入Cocos2D开发的iOS开发人员。这本书给了我开发iOS游戏所需的技术知识和信心,而我并不需要首先成为数学和OpenGL专家。”  ――Kirby Turner, White Peak Software公司  “本书是一本寓教于乐的教材,它涵盖了你在使用Cocos2D编写游戏时所需要的一切内容。”  ――Fahim Farook, RookSoft (rooksoft.co.nz)  “这是第一本关于Cocos2D的书!读完本书后,你会发现,你已对Cocos2D框架有了很深的理解,并且有实力去开发一些不同类型的游戏。在第一部分Rod和 Ray让你迅速掌握基础知识,而后续章节涵盖了更多高端的开发技巧,诸如视差滚动、CocosDenshion、Box2D、Chipmunk、粒子系统和Apple Game Center。本书文笔简洁生动,可读性强,是众多游戏开发者不可或缺的宝典。  ――Nick Waynik,独立iOS开发者
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
正在加载中,请稍候...
七日畅销榜
新书热卖榜}

我要回帖

更多关于 按键精灵移动窗口 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信