ActionScript 3.0游戏设计基础

出版社:电子工业出版社
出版日期:2013-5
ISBN:9787121202414
作者:斯白
页数:628页

章节摘录

版权页:   插图:   8.4.3障碍物和寻路 这是你第一次进入游戏设计中的一个全新领域,叫做人工智能(通常称为AI)。这是很大的一个话题,如果你对游戏设计很感兴趣(你当然很感兴趣!),你一定会想更深入地去探索它。 你可能想进一步修改《怪物总动员》游戏,在其中加上一些障碍物形成一个迷宫,然后让怪物在其中移动。在前两章中使用过Collision.block方法,通过这个方法可以实现这一功能,当怪物撞到墙的时候,让它们改变移动方向即可。但是,这样你将被迫管理大量重复的代码。在第10章将会学习如何处理多个对象之间的碰撞,然后会使用一段非常高效且简洁的代码来解决这一问题。 你可能还想让你的怪物们能够在迷宫中智能地寻找移动路径,同时还要保证路径最短。为了实现这一点,你需要学习游戏设计中的网格碰撞检测法(tile—based);然后还要实现一段著名的代码,叫做A星寻路(A—Star)。在Advanced Game Design with Flash中可以找到以上功能的实现方法。 8.5关于游戏结构的更多内容 从现在开始,在本章中所使用的这种构建游戏的结构将会成为你将来所构建的所有游戏的模型。以下是关于这一结构工作原理的一个快速概览: 应用类将会加载所有的关卡类,当一个游戏关卡派发一个事件通知游戏自己已经结束的时候,应用类将会切换关卡。 游戏关卡类中会包含所有的游戏逻辑,并负责控制所有的游戏对象。 游戏中的每个对象都是通过自己独立的类创建的。游戏对象带有一些属性,这些属性包含了这些对象上的重要数据,游戏对象还会负责管理属性的状态变更。游戏对象中不会包含任何与游戏相关的特定逻辑。这样就可以在其他游戏中更加容易地复用相同的游戏对象类。 这种结构是一种著名的软件设计模式,叫做Model View Controller(MVC)模式,不过这里是该模式非常简化的版本。设计模式是一种结构,用来组织由多个类所构成的计算机代码,因为这样管理起来会更加容易。我们把这里实现的版本叫做LMVC模式(LazyModel ViewController)。这种模式对于理解多个类是如何协同工作的非常有好处,而且在很多游戏项目中也非常有用,尤其是当你还在学习编程的时候。

内容概要

Rex van der Spuy 是一名自由职业者、交互媒体设计师,擅长Flash/AS3.0 游戏设计、界面设计,以及ActionScript 编程。他目前主要在加拿大、印度、南非这些地方游走。在不用编写视频游戏代码的时候,他会一边弹着锡塔尔琴,一边周游世界。
关于技术审核者
Josh Freeney 目前是密歇根州(Michigan)大急流城(Grand Rapids)费里斯州立大学(Ferris State University)的一名讲师,负责数字动画和游戏设计相关的内容。他教授与Flash游戏开发相关的课程,专注于敏捷开发以及高复用性领域,并且曾经在密歇根Flash 展上发表过演说。他喜欢棋牌游戏、徒步旅行、睡懒觉,以及与乐高(Lego)积木相关的所有活动。不管你是谁,无论你来自哪里,只要有Flash 问题需要解决,他都会持续不断地和你一起讨论。
关于封面插图设计师
Corné van Dooren 为本书设计了封面插图。在离开friends of ED 休息了一段时间之后,他为Foundation 系列图书做了全新的封面设计。他综合运用了各种技术,形成了有机的整体,现在他的工作成果就体现在本书以及其他一些书籍的封面上。
科恩小时候喜欢在身边的各种东西上面涂鸦,后来他开始探索无限的多媒体世界——从那以后,他再也没有停止过探索之旅。他的口头禅一直是“在多媒体领域唯一的限制就是想象力”,正是这句话鼓励着他不断前行。
科恩的客户来自全球各地,他为多媒体杂志写专题、审核并测试软件、编写多媒体教材,并且为friends of ED 的很多其他书籍制作封面。如果你喜欢科恩的作品,请务必看看他在New Masters of Photoshop: Volume 2(friends of ED,2004)一书中所编写的章节。关于他的更多作品,请参考他的个人站点(也可以联系他):www.cornevandooren.com。

书籍目录

第 1 章编程基础:如何制作视频游戏........................................................................1
1.1 基本要求............................................................................................................2
1.1.1 一台计算机................................................................................................................2
1.1.2 图形设计软件............................................................................................................2
1.1.3 计算机编程软件........................................................................................................3
1.1.4 Adobe Flash Professional .....................................................................................5
1.2 你需要知道的东西..............................................................................................6
1.3 你不需要知道的东西..........................................................................................6
1.4 一切都与编程有关..............................................................................................7
1.5 编程?可是我的数学很烂!.............................................................................8
1.6 我已经知道怎么编程了!..............................................................................8
1.6.1 我能制作何种类型的游戏? ....................................................................................9
1.6.2 学习新术语................................................................................................................9
1.6.3 打好基础....................................................................................................................9
1.7 使用Flash Builder..............................................................................................10
1.7.1 设置Flash Builder 的工作环境............................................................................... 11
1.8 编写你的第一个程序.................................................................................19
1.9 ActionScript 文件和.as 扩展名......................................................................19
1.10 开始编程! ...............................................................................................21
1.10.1 关于sprite 的一点小魔法....................................................................................23
1.10.2 不要忽略类! ........................................................................................................25
1.10.3 使用构造方法........................................................................................................27
1.10.4 对齐代码................................................................................................................29
1.11 您的指令是什么?............................................................................................31
1.12 为代码添加注释...........................................................................................33
1.13 运行你的程序并编译SWF 文件..............................................................35
1.13.1 在你编译程序的时候发生了什么? ....................................................................37
1.14 不能运行? ..................................................................................................39
1.14.1 一些常见的错误信息............................................................................................42
1.14.2 使用原始的源文件校对你的程序........................................................................44
1.15 关于Flash Builder 的更多内容.......................................................................44
1.15.1 编辑窗口的怪癖和特性........................................................................................44
1.15.2 透视图....................................................................................................................48
1.16 关于AS3.0 和Flash Player 的更多内容....................................................50
1.17 命名约定............................................................................................52
1.18 本章小结..............................................................................................53
第2 章制作游戏图形............................................................................................................54
2.1 创建游戏世界背景.................................................................................57
2.1.1 在Photoshop 中新建文件.......................................................................................57
2.1.2 绘制天空..................................................................................................................60
2.1.3 绘制山峦..................................................................................................................71
2.1.4 使用钢笔工具绘图..................................................................................................73
2.1.5 复制、修改以及排列图层......................................................................................83
2.1.6 斜面和浮雕..............................................................................................................87
2.1.7 使用矩形选择工具制作箱子..................................................................................91
2.2 制作游戏角色................................................................................................96
2.2.1 创建文件..................................................................................................................97
2.2.2 绘制角色..................................................................................................................97
2.3 制作按钮............................................................................................100
2.3.1 新建一个文件........................................................................................................100
2.3.2 绘制按钮................................................................................................................100
2.3.3 使用文字工具........................................................................................................103
2.3.4 制作其他按钮........................................................................................................104
2.3.5 保存作品并制作PNG 文件..................................................................................107
2.4 检查你的作品.........................................................................................108
2.5 关于Photoshop 的更多内容......................................................................109
2.6 本章小结............................................................................................................. 110
第 3 章为对象编程.......................................................................................................... 111
3.1 可我有点害怕编程!........................................................................................ 112
3.2 加载并显示图片................................................................................................. 113
3.2.1 新建AS3.0 项目.................................................................................................... 114
3.2.2 理解配置文件........................................................................................................ 116
3.2.3 用元数据标签设置Flash Player ........................................................................... 117
3.2.4 加载并显示background.png ................................................................................. 119
3.2.5 这段代码的工作原理是什么? ............................................................................122
3.2.6 变量........................................................................................................................123
3.2.7 变量类型................................................................................................................124
3.2.8 创建空盒子............................................................................................................125
3.2.9 创建实例和对象....................................................................................................126
3.2.10 在舞台中显示图像..............................................................................................129
3.2.11 理解代码结构......................................................................................................135
3.2.12 在舞台上定位Sprite............................................................................................136
3.3 为按钮编程...............................................................................................144
3.3.1 理解点标记............................................................................................................145
3.3.2 方法........................................................................................................................145
3.3.3 使用方法调用........................................................................................................146
3.3.4 使用函数定义........................................................................................................147
3.3.5 使用基本方法........................................................................................................149
3.3.6 理解事件和事件监听器........................................................................................153
3.3.7 让按钮运行起来....................................................................................................161
3.4 利用属性控制Sprite 对象.......................................................................162
3.4.1 上下移动.........................................................................................................164
3.5 渐进移动...............................................................................................166
3.5.1 跟踪输出................................................................................................................167
3.5.2 使用递增和递减运算符........................................................................................168
3.5.3 限制移动................................................................................................................169
3.5.4 变大和变小............................................................................................................172
3.5.5 消失!....................................................................................................................175
3.5.6 旋转........................................................................................................................179
3.5.7 更多的属性? ........................................................................................................181
3.6 Sprite 居中...............................................................................................181
3.7 代码小结.................................................................................................186
3.8 本章小结.........................................................................................191
第 4 章决策 ..................................................................................192
4.1 使用文本..........................................................................................193
4.1.1 新建项目................................................................................................................193
4.1.2 需要导入的类........................................................................................................195
4.1.3 创建TextFormat 和 TextField 对象...................................................................196
4.1.4 设置文本格式........................................................................................................197
4.1.5 配置并显示输出文本............................................................................................199
4.1.6 配置并显示输入文本框........................................................................................202
4.2 编写简单的猜数字游戏...............................................................................205
4.2.1 理解游戏的结构....................................................................................................206
4.3 学习关于变量的更多内容........................................................................208
4.3.1 监听按键................................................................................................................ 211
4.4 决策..........................................................................................................214
4.4.1 显示游戏状态........................................................................................................220
4.5 使用后缀操作符改变同一个变量的值..........................................................222
4.5.1 字符串连接............................................................................................................224
4.5.2 嗨,为什么必须要用gameStatus 变量呢? ........................................................227
4.5.3 uint 型变量与int 型变量.......................................................................................227
4.5.4 游戏的输赢............................................................................................................228
4.5.5 利用方法将程序模块化........................................................................................234
4.6 润色............................................................................................................235
4.6.1 处理随机数............................................................................................................236
4.6.2 禁用回车键............................................................................................................240
4.7 制作漂亮的按钮................................................................................242
4.7.1 理解一些概念........................................................................................................244
4.7.2 加载图片并显示按钮............................................................................................245
4.7.3 理解鼠标事件........................................................................................................247
4.8 将按钮添加到猜数字游戏中.................................................................253
4.8.1 在游戏结束时禁用按钮........................................................................................255
4.8.2 管理复杂的代码....................................................................................................262
4.9 项目扩展...........................................................................................................262
4.9.1 制作Play again 按钮.............................................................................................263
4.9.2 跟踪玩家的猜测....................................................................................................264
4.9.3 添加视觉效果........................................................................................................264
4.9.4 逆向思维................................................................................................................264
4.10 嵌入字体快速指南.......................................................................................265
4.11 本章小结........................................................................................................267
第 5 章控制游戏角色.....................................................................................268
5.1 使用键盘控制玩家的游戏角色....................................................................268
5.1.1 键盘操控——错误的方式! ................................................................................269
5.1.2 键盘操控——正确的方式! ................................................................................273
5.1.3 按照指定的速度移动............................................................................................276
5.1.4 使用新的keyDownHandler...................................................................................277
5.1.5 使用keyUpHandler................................................................................................278
5.1.6 使用enterFrameHandler ........................................................................................279
5.1.7 设置舞台边界........................................................................................................281
5.1.8 到达舞台边缘时禁止移动....................................................................................282
5.1.9 屏幕环绕................................................................................................................286
5.2 嵌入图片.....................................................................................................288
5.3 滚动......................................................................................................290
5.3.1 源码分析................................................................................................................295
5.3.2 更好地滚动............................................................................................................298
5.3.3 再好一点的滚动....................................................................................................305
5.4 更进一步...............................................................................................308
5.4.1 视差滚动................................................................................................................309
5.5 本章小结..............................................................................................315
第 6 章碰撞检测............................................................................................316
使用hitTestObject 进行基本的碰撞检测.........................................................................316
使用hitTestObject .............................................................................................................321
6.1 触发状态变化.............................................................................................323
6.1.1 降低血量条............................................................................................................327
6.1.2 利用scaleX 按照百分比缩放血量条...................................................................330
6.1.3 刷新得分................................................................................................................331
6.1.4 检测游戏是否结束................................................................................................336
6.1.5 拿起和放下对象....................................................................................................338
6.2 关于hitTestObject 的坏消息...................................................................343
6.2.1 使用边界框检测碰撞............................................................................................344
6.2.2 学会和hitTestObject 共处.....................................................................................345
6.2.3 创建子对象............................................................................................................346
6.2.4 高级碰撞检测策略................................................................................................350
6.3 使用基于矢量的碰撞检测................................................................................351
6.3.1 防止对象重叠........................................................................................................351
6.3.2 编写Collision 类...................................................................................................357
6.3.3 换个角度再看方法、实参和形参........................................................................362
6.3.4 Collision.block 方法解析.......................................................................................364
6.4 本章小结....................................................................................................371
第 7 章制作游戏.................................................................................................................372
7.1 制作游戏图形..........................................................................................373
7.1.1 制作带纹理的箱子................................................................................................374
7.1.2 制作地雷................................................................................................................388
7.1.3 制作游戏角色........................................................................................................396
7.1.4 设计游戏背景........................................................................................................406
7.1.5 制作Game Over 图形............................................................................................407
7.2 游戏编程.....................................................................................................409
7.2.1 处理大量对象........................................................................................................410
7.2.2 到底什么是类? .................................................................................................... 411
7.2.3 TimeBombPanic 应用类解析................................................................................416
7.2.4 向游戏中添加对象................................................................................................423
7.2.5 舞台边界................................................................................................................425
7.2.6 角色和箱子之间的碰撞........................................................................................426
7.2.7 排雷........................................................................................................................426
7.2.8 使用定时器............................................................................................................427
7.2.9 结束游戏................................................................................................................431
7.3 创建可滚动的游戏环境..............................................................................434
7.3.1 让你的作品准备滚动............................................................................................435
7.3.2 向游戏中添加对象................................................................................................436
7.3.3 滚动游戏的边界....................................................................................................438
7.4 本章小结...........................................................................................................442
第 8 章制作更大型的游戏..............................................................................443
8.1 理解游戏的结构...........................................................................................444
8.1.1 使用私有变量和方法............................................................................................447
8.2 游戏编程.............................................................................................................449
8.2.1 让LevelOne 访问stage .........................................................................................449
8.2.2 确保LevelOne 位于舞台上..................................................................................451
8.2.3 LevelOne 类...........................................................................................................453
8.2.4 对游戏角色编程....................................................................................................461
8.2.5 对怪物编程............................................................................................................468
8.2.6 对星形武器编程....................................................................................................475
8.2.7 检测关卡是否结束................................................................................................484
8.2.8 结束关卡................................................................................................................485
8.2.9 使用removeChild 彻底删除对象.........................................................................492
8.2.10 通过派发事件在类之间进行通信......................................................................494
8.2.11 事件冒泡..............................................................................................................496
8.2.12 结束第一关..........................................................................................................498
8.3 在第二关中向四个方向发射星星...................................................................498
8.4 更多的怪物.....................................................................................................502
8.4.1 在一个滚动式的游戏世界中移动对象................................................................502
8.4.2 智能怪物................................................................................................................519
8.4.3 障碍物和寻路........................................................................................................523
8.5 关于游戏结构的更多内容........................................................................523
8.6 本章小结..................................................................................................525
第 9 章物理引擎、循环、数组和音效................................................................................526
9.1 使用物理模拟自然运动...............................................................................527
9.1.1 用来玩物理的游戏对象类....................................................................................528
9.1.2 加速度....................................................................................................................529
9.1.3 摩擦........................................................................................................................537
9.1.4 弹跳........................................................................................................................539
9.1.5 重力........................................................................................................................540
9.1.6 跳跃........................................................................................................................543
9.2 为游戏添加音效.............................................................................................549
9.2.1 在游戏中集成音效................................................................................................551
9.2.2 循环播放音乐以及设置音量和声道....................................................................552
9.3 同时操纵大量对象......................................................................................557
9.3.1 使用数组................................................................................................................563
9.3.2 创建很多箱子........................................................................................................572
9.3.3 在多个对象之间进行碰撞检测............................................................................578
9.3.4 案例学习................................................................................................................586
9.4 本章小结.........................................................................................................587
第 10 章对象和角色的高级控制.......................................................................589
10.1 使用鼠标移动对象......................................................................................590
10.1.1 让对象跟随鼠标移动..........................................................................................590
10.1.2 使用缓动的方式移动对象..................................................................................591
10.2 案例研究:全角度发射子弹.........................................................................597
10.2.1 创建游戏对象......................................................................................................602
10.2.2 让魔杖围绕仙女旋转..........................................................................................603
10.2.3 360°发射星星....................................................................................................605
10.3 高级玩家操控系统.................................................................................608
10.4 敌军AI 系统..........................................................................................................608
10.4.1 避开玩家..............................................................................................................612
10.4.2 旋转并向鼠标发射子弹......................................................................................613
10.4.3 使用定时器发射子弹..........................................................................................617
10.5 案例研究:杀人蜂魔窟!..............................................................................................618
10.5.1 Flash 动画以及游戏发布.....................................................................................626
10.6 本章小结.........................................................................................627

编辑推荐

《ActionScript 3.0游戏设计基础(第2版)》的内容由浅入深,知识丰富,非常适合读者自学或者作为高等学校的教材使用。

作者简介

《ActionScript 3.0游戏设计基础(第2版)》涵盖了Flash游戏设计中的所有基础主题,包括游戏图形的制作、AS3.0语法基础、事件机制、碰撞检测、物理模拟、滚屏系统、AI(人工智能)基础,以及嵌入游戏音效。对于每一章的内容,在《ActionScript 3.0游戏设计基础(第2版)》的随书源代码中都提供了完整的代码和可运行的示例。读者可以跟随作者的思路,从最简单的游戏开始循序渐进地向前推进,最终构建出比较大型的Flash游戏。


 ActionScript 3.0游戏设计基础下载



发布书评

 
 


精彩短评 (总计3条)

  •     还以为会有光盘的,居然没有,先看看再说!
  •     很好的书。。非常喜欢。。好评给上
  •     很厚看起来很恐怖的一本书 但很喜欢作者口语化的讲解
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024