商家名称 | 信用等级 | 购买信息 | 订购本书 |
实战Flash游戏开发(第2版) [平装] | |||
实战Flash游戏开发(第2版) [平装] |
《实战Flash游戏开发(第2版)》:Flash因其插件文件尺寸小、性能优异而得到全球网民的青睐,这也使得Flash成为网络休闲游戏开发的首选平台。
游戏开发融合了很多技术与表现风格,除了要有高质量的代码、迷人的艺术设计和良好的用户界面,更重要的一点是要让玩家觉得好玩。《实战Flash游戏开发(第2版)》教会读者利用Flash设计出这样的游戏。作者以自己十多年的Flash开发经验为基础,总结了一些实用的游戏开发原则,并将游戏开发基本术语和概念、整个游戏流程的规划、音频和可视化资源的管理以及游戏逻辑处理、一些代码及库的组织方式以及Flash移动开发的内容,都囊括在这本书中,极具学习和实用价值。
“这本书介绍了许多其他书都没有提到的内容,如事件传播、E4X、getter/setter方法。另外,作者还指出了如何在游戏开发中避免养成坏习惯。我推荐每一位游戏开发人员都备一本,它定会让你受益匪浅。”
“我从1998年就开始用Flash开发游戏了,看过的相关图书无数,Christopher的这本书无疑是其中的珍品。书中不但介绍了游戏开发过程中需要注意的重点事项。而且详尽阐述了游戏开发流程。探讨了当前流行的一些游戏设计元素的使用问题。”
——亚马逊读者评论
作者:(美国)格里菲斯(Christopher Griffith.) 译者:李鑫 杨海玲
Christopher Griffith,Blockdot公司高级游戏开发师,拥有近十年的Flash应用及游戏开发经验,客户包括乐高、微软、美国航空、百事等知名企业。
李鑫,关注交互式媒体发展的设计师+技术翻译。译著有《ActionScript大型网页游戏开发》、《实战Flash游戏开发》等。目前任图灵公司高级审稿编辑。新浪微博@绥靖者信。
杨海玲,黑龙江大学计算机软件专业毕业。曾做过两年的软件开发工作,后长期从事科技图书出版工作,曾参与翻译《数据结构与算法分析——C++描述(第3版)》、《微积分的历程》等。
第1章计算机科学并不适合所有人
1.1一些基础知识
1.2常见游戏类型
1.2.1冒险类游戏
1.2.2动作类游戏
1.2.3益智解谜类游戏
1.2.4词汇类游戏
1.2.5策略与模拟经营类游戏
1.2.6角色扮演游戏
1.2.7驾驶类游戏
1.2.8桌面式和卡牌式游戏
1.3常用开发术语
1.3.1伪码
1.3.2算法
1.3.3过程式编程
1.3.4面向对象编程
1.3.5设计模式
1.3.6类
1.3.7Public、Protected、Private和Internal
1.4游戏特有的开发术语
1.4.1人工智能
1.4.2游戏循环(或主循环)
1.4.3游戏视角
1.4.4卷动背景
1.4.5区块式游戏
1.5Flash程序开发术语
1.5.1舞台
1.5.2显示对象
1.5.3事件和侦听器
1.5.4包
1.5.5创作时事件、编译时事件及运行时事件
1.6醒一醒
第2章最佳编程工具
2.1倒叙几句
2.2 Flash的一些优点
2.2.1玩家占有率
2.2.2灵活性
2.2.3上市速度
2.2.4美观性
2.3白璧微瑕
2.3.1缺点:代码编辑器
2.3.2解决方案:使用附加工具
2.3.3缺点:性能及内存管理
2.3.4解决方案:使用第三方解决方案或自己创建
2.3.5缺点:内容调试
2.3.6解决方案:使用跟踪输出与自定义工具
2.3.7缺点:缺乏内建游戏库和工具
2.3.8解决方案:自己开发工具或寻找开源工具
2.4不要和Flash对抗
2.5Flash所能创建的内容
2.5.1动画与游戏
2.5.2应用程序与游戏
2.5.3网站与游戏
2.5.4Flash与传统游戏开发
2.6最佳创作工具
第3章一份计划抵得上1000片阿司匹林
3.1步骤1
3.2步骤2
3.3步骤3
3.4步骤4
3.5步骤5
3.6步骤6(可选)
第4章 注释太棒了!
4.1适当的提醒
4.2部分1:类
4.2.1包
4.2.2类就像文件一样
4.2.3构造函数
4.2.4常量、变量与方法
4.2.5getter与setter方法
4.2.6类标识符
4.2.7继承与多态
4.2.8接口
4.2.9将Flash中的资源与类链接起来
4.2.10类与基类
4.2.11使用没有类文件的导出元件
4.2.12getDefinitionByName与Casting
4.3部分2:事件
4.3.1dispatchEvent方法
4.3.2addEventListener方法、removeEventListener方法以及事件流程中的各阶段
4.3.3事件的传播与取消
4.3.4自定义事件
4.4部分3:错误
4.4.1try、catch、finally
4.4.2抛出自定义错误
4.5部分4:数据结构与列表
4.5.1Object
4.5.2数组
4.5.3Vector
4.5.4Dictionary
4.5.5ByteArray
4.5.6到底该使用哪种列表
4.5.7自定义数据结构
4.6部分5:让所有人都能读懂你的注释
4.7部分6:Flash为什么会这么做
4.7.1事件流程
4.7.2帧脚本
4.7.3使用多个SWF文件
4.7.4内存垃圾回收
4.8本章小结
第5章最低要求与架构师所采用的方法
5.1简单地进行封装——类与容器
5.2将有关数值存储到变量与常量中
5.3不要信任舞台
5.4不要使用不理解或不适用的架构或设计模式
5.5要把握好向别人展示自己作品的最佳时机
5.6转换到架构
5.7OOP概念
5.7.1封装
5.7.2继承
5.7.3多态性
5.7.4接口
5.8游戏开发中的实用OOP技巧
5.9单例模式:一种良好的文档模式
5.10本章小结
第6章管理资源与使用图像
6.1一种更好的文件格式
6.2小议组织库元件
6.3使用图像
6.4常用的光栅图像格式
6.4.1压缩
6.4.2平滑
6.4.3解块
6.4.4外部的图像编辑工具
6.5本章小结
第7章让它动起来:ActionScript动回
7.1几个术语
7.1.1缓动
7.1.2序列
7.2是否补间?这是个问题
7.3 由脚本驱动的简单射击游戏
7.3.1Projectile类
7.3.2SimpleShooter类
7.4记忆力游戏:补间动画
7.4.1MemoryCard类
7.4.2Memory类
7.5本章小结
第8章如雷贯耳:如何使用音频
8.1常用音频格式
8.2常用导出设置
8.3使用外部文件
8.4声音编辑工具
8.5编写音效脚本
8.5.1理解与声音有关的类
8.5.2SoundEngine类
8.5.3使用SoundEngine类
8.5.4SoundMixer类
第9章重塑“视频游戏”
9.1视频编解码器
9.2外部视频应用:过场与菜单
9.3CutsceneManager类
9.4时间轴上的视频
9.4.1文件尺寸
9.4.2库:易于使用与杂乱无章
9.4.3性能表现
9.4.4自由的动态模糊
9.5建立内部视频
9.6本章小结
第10章XML与动态内容
10.1引入数据:理解URLLoader类
10 2XML
10.3E4X
10.4纵横字谜
10.4.1CrosswordTile类
10.4.2CrosswordClue类
10.4.3CrosswordPuzzle类
10.5内容并非只有现成的:纵横字谜编辑器
10.6数据传送
10.7示例:XML与Flash Vars的应用对比
10.8本章小结
第11章就是一个词儿:数学
11.1Math类
11.2部分1:几何学及三角学
11.3简要介绍一下弧度与Pi值
11.4Flash中的3D
11.4.1位置
11.4.2旋转
11.5透视投影
11.6Simple TunnelShooter范例
11.6.1基本机制
11.6.2所需类文件
11.6.3Tunnel类
11.7部分2:物理学
11.7.1标量
11.7.2矢量
11.7.3Vector3D类
11.7.4位移
11.7.5速度
11.7.6加速度
11.7.7摩擦力
11.7.8惯性
11.7.9物理仿真与假象
11.7.10真实性与期望值
11.8范例:顶视角的驱动引擎
11.8.1Vehicle类
11.8.2Time类
11.8.3Game类
11.9范例:顶视角且带有漂移效果的赛车游戏
11.10本章小结
第12章别碰我:碰撞检测技术
12.1能力与需求
12.2hitTestobject——最基本的检测方法
12.3hitTestPoint——更先进的检测方法
12.4半径/距离检测法——极适合圆形的检测方法
12.5矩形边框检测法
12.5.1新的Enemy类
12.5.2SimpleShooterCollisions类所新增的内容
12.5.3该方法的一些不足之处
12.6像素级精确的碰撞侦测与物理仿真
12.7这些办法都不灵?那就用鸡尾酒疗法
第13章MixUp——简单的游戏引擎
13.1主文档
13.2 MixUP类
13.3Title类
13.4RulesPanel类
13.5Game类
13.6接口
13.7GameBoard类
13.8SourceImageEmbedded类—
13.9GameHistory类与Results类
13.10SourceImagecamera类
13.11本章小结
第14章技术大融合:制作平台游戏
14.1平台类型游戏
14.2数据流程
14.3游戏流程与功能
14.3.1游戏背景设定
14.3.2关卡设计及墙壁的作用
14.3.3出口
14.3.4玩家角色
14.3.5物品
14.3.6敌人
14.4关卡文件格式以及资源结构
14.4.1关卡的XML文件
14.4.2资源SWF文件
14.4.3游戏所用类的概述
14.5引擎类
14.5.1ISprite接口
14.5.2IPlayer接口
14.5.3IEnemy接口
14.5.4IItem接口
14.5.5IPortal接口
14.6IWall接口
14.6.1PlatformerEvent类
14.6.2PortalDesti nations类与PortalRequirement类
14.6.3PlatformerConfig类
14.6.4GridReference类
14.7CollisionGrid类
14.8游戏实现类
14.9资源类
14.9.1Player类
14.9.2Enemy类
14.9.3Item类
14.9.4Portal类与Wall类
14.9.5游戏中的资源
14.10本章小结
第15章Marble Runner:我们的第一款手机游戏
15.1部分1:开发iOS游戏的最佳实践
15.1.1滤镜(包括由PixelBender所创建的滤镜)
……
第16章桌上冰球:采用多点触摸的平板电脑多人游戏
第17章找到就干掉:猎虫行动
第18章当心恶贼
第19章移动开发介绍
后记Flash在游戏业中的前景
附录A摄像头与麦克风
附录B本地化
附录CJSFL——情人们的JavaScript
附录D使用AMFPHP开发游戏
版权页:
插图:
第1章 计算机科学并不适合所有人
1.1 一些基础知识
在深入介绍Flash之前,了解一点游戏开发的基础知识十分重要,这样我们就能理解书中所用的术语了。如果以后你忘了某个术语的含义,或者不明白它在特定情况下的用法,那就请重新翻阅本章。要是你对所有这些长单词与抽象概念有些不知所措,也不要担心!我们得承认,游戏开发本来就是一项复杂工程(尤其对于高效且熟练的开发而言)。要知道,每个编写游戏的家伙都经历过同样的焦虑和困惑。如同生活中的任何事情一样,只有不断练习并加以实战才能变得精通。因此,拿起一杯你喜爱的能提神的饮料,让我们开始游戏编程之旅吧l
1.2 常见游戏类型
尽管有许多不同类型的游戏(况且有些游戏自身无法被简单归类,它们甚至还以此为荣),但多数游戏却可归于下列类别之一。
1.2.1 冒险类游戏
冒险类游戏(见图1—1)通常是由背景故事为导向而展开的,并且一般会有一到多个主角。从玩家感觉上来说,玩这类游戏很像是看电影(有些游戏据说快要拍成电影了),它们大量依靠剧情对白、搜索探险以及解决逻辑谜题来推动玩家的游戏进程。在20世纪80年代末与20世纪90年代初,冒险类游戏非常流行,其中LucasArts公司和Sierra(雪乐山)公司都出品过一些堪称绝佳典范的冒险类游戏。由于其开发流程非常依赖美术功底,并且对系统配置的要求通常也较低,所以用Flash制作的这类游戏又开始流行起来。
1.2.2 动作类游戏
此类游戏(见图1—2)可能会涉及许多玩法以及子类别,但就一般而言,动作类游戏考验的是一个玩家的机敏度、反应时间以及在面临压力时是否能作出正确的判断。第一人称射击游戏、横向与纵向卷轴游戏及格斗游戏都可归入这一类。Flash平台可以很好地支持动作类游戏中的一些子类别,特别是那种早期的动作类游戏,比如像《太空入侵者》或《超级马里奥兄弟》那样的游戏。
1.2.3益智解谜类游戏
想想《俄罗斯方块》、《宝石迷阵》(Bejewled)还有《数独酷》(Sudoku)吧!像这样的游戏还可以列出很多。凡是涉及逻辑推理、解谜、图案匹配,或者包含以上所有这些构成元素的作品都可归人此类游戏。这类Flash游戏很多,原因主要有以下两方面。首先,创作一款简单的益智解谜类游戏不需要太多的设计工作,这意味着独立开发者经常靠自己就能制作完成。另外,网上主要的休闲游戏玩家年龄都偏大,他们一般比较喜欢节奏慢些的益智解谜类游戏。
1.2.4 词汇类游戏
这类游戏可被认为是益智解谜类游戏的一个子类,但是创建方法却大为不同,所以我将它们划归到独立的体系。寻找单词、纵横拼字迷、拼字游戏以及回文构词,都属于此类游戏(见图1—3)。基于和其他益智解谜类游戏相同的原因,Flash平台是此类游戏的最常见载体。
喜欢实战Flash游戏开发(第2版) [平装]请与您的朋友分享,由于版权原因,读书人网不提供图书下载服务