第1章 使用Flash和ActionScript3.0 1
1.1什么是ActionScript3.0 1
1.2创建简单的ActionScript程序 2
1.2.1 trace的简单用法 3
1.2.2创建屏幕输出 5
1.2.3我们的第一个ActionScript3.0类 6
1.3使用Flash CS5 9
1.3.1显示对象和显示列表 9
1.3.2舞台 9
1.3.3库 10
1.3.4时间轴 10
1.4编辑ActionScript代码 11
1.5 ActionScript游戏编程策略 13
1.5.1单类方法 14
1.5.2任务细分法 14
1.5.3良好的编程规范 14
1.6 ActionScript的基本概念 16
1.6.1创建和使用变量 17
1.6.2条件语句 18
1.6.3循环 19
1.6.4函数 19
1.7测试及调试 20
1.7.1 bug类型 20
1.7.2测试方法 20
1.7.3使用调试器 21
1.8发布游戏 23
1.8.1格式 23
1.8.2 Flash 24
1.8.3 HTML 25
1.9 ActionScript游戏编程检查清单 26
1.9.1发布和文档设置 26
1.9.2类、函数和变量的名称 27
1.9.3运行时问题 28
1.9.4测试问题 28
第2章ActionScript游戏元素 30
2.1创建可视对象 30
2.1.1使用影片剪辑 31
2.1.2创建按钮 32
2.1.3绘制图形 35
2.1.4绘制文本 37
2.1.5创建链接文本 39
2.1.6创建Sprite对象组 40
2.1.7设置Sprite的深度 42
2.2接收用户输入 42
2.2.1鼠标输入 43
2.2.2键盘输入 44
2.2.3文本输入 45
2.3创建动画 46
2.3.1 Sprite运动 46
2.3.2使用Timer 48
2.3.3基于时间的动画 49
2.3.4基于物理的动画 49
2.4设计用户交互 51
2.4.1移动Sprite 51
2.4.2拖曳Sprite 53
2.4.3碰撞检测 54
2.5获取外部数据 55
2.5.1外部变量 55
2.5.2加载数据 57
2.5.3存储本地数据 57
2.6各类游戏元素 58
2.6.1定制光标 58
2.6.2播放声音 60
2.6.3加载进程界面 61
2.6.4随机数 62
2.6.5数组重组 63
2.6.6显示时间 64
2.6.7系统数据 64
2.6.8游戏盗版及保护问题 65
第3章 基本游戏框架:配对游戏 67
3.1放置可交互的元素 68
3.1.1创建游戏部件的方法 68
3.1.2设置Flash影片 69
3.1.3创建基本ActionScript类 70
3.1.4使用常量实现更好的编程 73
3.1.5随机分配卡片 74
3.2游戏开始 76
3.2.1添加鼠标侦听器 76
3.2.2建立游戏逻辑 77
3.2.3检测游戏结束 81
3.3封装游戏 83
3.3.1创建游戏影片剪辑 83
3.3.2添加介绍界面 84
3.3.3添加Play Again按钮 86
3.4添加得分和时间 86
3.4.1添加得分 87
3.4.2添加时间 89
3.4.3显示时间 90
3.4.4游戏结束后显示所得分数和时间 91
3.5添加游戏效果 93
3.5.1卡片翻转动画 93
3.5.2有限的卡片浏览时间 95
3.5.3声音效果 96
3.6修改游戏 98
第4章 脑力游戏:记忆和推理 99
4.1数组和数据对象 99
4.1.1数组 100
4.1.2数据对象 101
4.1.3数据对象数组 102
4.2记忆游戏 102
4.2.1准备影片 103
4.2.2编程策略 105
4.2.3类定义 105
4.2.4设置文本、灯和音频 106
4.2.5播放序列 109
4.2.6开关灯 110
4.2.7接收并检查玩家输入 111
4.2.8修改游戏 113
4.3推理游戏 114
4.3.1建立影片 114
4.3.2定义类 117
4.3.3开始新的游戏 118
4.3.4检查玩家的猜测 121
4.3.5评估游戏结果 121
4.3.6结束游戏 123
4.3.7清除游戏元素 126
4.3.8修改游戏 127
第5章 游戏动画:射击游戏和弹跳游戏 128
5.1游戏动画 128
5.1.1基于时间的动画 129
5.1.2基于时间动画的编程 130
5.2空袭游戏 133
5.2.1影片设置和配置 133
5.2.2飞行中的飞机 134
5.2.3移动炮台 137
5.2.4射向天空的炮弹 140
5.2.5游戏类 142
5.2.6修改游戏 148
5.3弹球游戏 149
5.3.1建立影片 149
5.3.2类定义 152
5.3.3开始游戏 153
5.3.4新建一个小球 155
5.3.5游戏动画及碰撞检测 155
5.3.6游戏结束 161
5.3.7修改游戏 162
第6章 拼图游戏:滑动与拼图 163
6.1编辑位图图像 164
6.1.1导入位图 164
6.1.2位图切分 165
6.2滑动拼接游戏 167
6.2.1设置影片 168
6.2.2设置类 168
6.2.3导入图像 170
6.2.4将图像切分成小块 171
6.2.5重新排列小块 173
6.2.6对玩家单击作出反应 175
6.2.7滑动过程的动画 177
6.2.8游戏结束和清理 178
6.2.9修改游戏 179
6.3拼图游戏 179
6.3.1设置类 180
6.3.2导入和切割图像 181
6.3.3拖曳小块 184
6.3.4游戏结束 188
6.3.5修改游戏 189
第7章 方向和运动:空袭2、太空岩石和气球游戏 190
7.1用数学方法旋转和移动对象 190
7.1.1正弦函数和余弦函数 191
7.1.2使用余弦和正弦移动小车 192
7.1.3根据位置计算角度 195
7.2空袭2 198
7.2.1改变高射炮 198
7.2.2改变炮弹 200
7.2.3创建AirRaid2.as 202
7.3太空岩石 203
7.3.1游戏元素设计 203
7.3.2设置图形 205
7.3.3设置类 206
7.3.4开始游戏 208
7.3.5得分和状态显示对象 209
7.3.6飞船运动和玩家输入 211
7.3.7打开保护盾 215
7.3.8岩石 216
7.3.9导弹 219
7.3.10游戏控制 221
7.3.11修改游戏 223
7.4气球游戏 223
7.4.1游戏元素设计 224
7.4.2设置图形 225
7.4.3设置类 225
7.4.4开始游戏 226
7.4.5准备一个游戏级别 226
7.4.6主要的游戏事件 227
7.4.7玩家控制 229
7.4.8弹出气球 230
7.4.9结束分布级别和游戏 231
7.4.10时间轴脚本 232
7.4.11修改游戏 232
第8章 休闲游戏:同色消除和消除方块 233
8.1可重用的类:爆炸点 234
8.1.1开发爆炸点类 235
8.1.2在影片中使用爆炸点 238
8.2同色消除 240
8.2.1玩同色消除游戏 241
8.2.2游戏功能概述 241
8.2.3影片和Match Three类 242
8.2.4设置游戏网格 244
8.2.5玩家交互 246
8.2.6制作小块的移动动画 248
8.2.7寻找匹配 250
8.2.8寻找可能的移动 254
8.2.9分数记录和游戏结束 257
8.2.10修改游戏 258
8.3消除方块 258
8.3.1设置图形 260
8.3.2设置类 260
8.3.3开始游戏 261
8.3.4递归 262
8.3.5使用递归移除小块 264
8.3.6掉落的小块 266
8.3.7检查空列 267
8.3.8游戏结束 269
8.3.9修改游戏 270
第9章 文字游戏:Hangman和单词搜索 271
9.1字符串和文本字段 271
9.1.1 ActionScript 3.0字符串处理 272
9.1.2对文本字段应用文本格式 275
9.2 Hangman 281
9.2.1设置Hangman游戏 281
9.2.2 Hangman类 282
9.3单词搜索 284
9.3.1开发策略 285
9.3.2定义类 286
9.3.3创建单词搜索网网格 287
9.3.4用户交互 291
9.3.5处理发现的单词 293
9.3.6修改游戏 296
第10章 问题和答案:问答游戏 297
10.1存储和获取游戏数据 297
10.1.1理解XML数据 298
10.1.2导入外部XML文件 300
10.1.3处理加载错误 301
10.2问答游戏 301
10.2.1设计一个简单的问答游戏 302
10.2.2设置影片 302
10.2.3设置类 303
10.2.4导入问答数据 306
10.2.5信息文本和游戏按钮 306
10.2.6推进游戏进程 308
10.2.7显示问题和答案 308
10.2.8判断玩家的答案 310
10.2.9结束游戏 311
10.3问答游戏豪华版 312
10.3.1添加时间限制 312
10.3.2添加提示 314
10.3.3添加事实描述 317
10.3.4添加复杂的计分方式 317
10.3.5随机选择问题 319
10.4图片问答游戏 320
10.4.1更好的答案布局 320
10.4.2识别两种类型的答案 322
10.4.3创建Loader对象 322
10.4.4判断正确答案 323
10.4.5扩展单击区域 324
10.4.6将图像作为问题 325
10.4.7修改游戏 326
第11章 动作类游戏:平台游戏 327
11.1设计游戏 328
11.1.1关卡设计 328
11.1.2设计类 333
11.1.3规划所需函数 334
11.2建立类 335
11.2.1类的定义 335
11.2.2开始游戏和关卡 336
11.2.3键盘输入 340
11.2.4游戏主循环 341
11.2.5角色的运动 342
11.2.6滚动游戏关卡 347
11.2.7检测碰撞 348
11.2.8敌人和玩家的死亡 348
11.2.9收集分数和物体 350
11.2.10显示玩家状态 351
11.2.11关卡和游戏的结束 352
11.2.12游戏对话框 352
11.3修改游戏 353
第12章 驾驶和竞速游戏 355
12.1创建俯视图驾驶游戏 355
12.1.1创建一个俯视下的世界 355
12.1.2游戏设计 358
12.1.3类的定义 360
12.1.4构造函数 362
12.1.5寻找街区 364
12.1.6垃圾的放置 364
12.1.7键盘输入 366
12.1.8游戏循环 367
12.1.9车的移动 368
12.1.10检测与垃圾及垃圾桶的碰撞 370
12.1.11时钟 372
12.1.12分数提示器 372
12.1.13游戏结束 373
12.1.14修改游戏 374
12.2建立Flash竞速游戏 374
12.2.1竞速游戏的元素 374
12.2.2制作赛道 375
12.2.3音效 376
12.2.4常量和变量 376
12.2.5开始游戏 377
12.2.6游戏主循环 378
12.2.7车的移动 380
12.2.8检查进度 381
12.2.9倒计时和时钟 382
12.2.10游戏结束 383
12.2.11修改游戏 384
第13章 纸牌游戏:猜大小、电子扑克和21点 385
13.1猜大小 385
13.1.1创建牌堆 386
13.1.2建立类 387
13.1.3开始游戏 387
13.1.4响应玩家的行为 389
13.1.5清空 390
13.1.6修改游戏 391
13.2电子扑克 391
13.2.1洗牌和发牌 392
13.2.2计时事件 392
13.2.3创建牌堆 393
13.2.4游戏元素 393
13.2.5建立类 394
13.2.6洗牌 396
13.2.7计时事件 396
13.2.8开始发牌 397
13.2.9抽牌 399
13.2.10完成一手牌 401
13.2.11计算扑克赢分 402
13.2.12修改游戏 403
13.3 21点 403
13.3.1游戏元素 403
13.3.2设置类 404
13.3.3开始游戏 405
13.3.4计时事件 406
13.3.5发牌 407
13.3.6要牌或停牌 408
13.3.7庄家行为 409
13.3.8计算21点的手牌 410
13.3.9游戏的其他函数 412
13.3.10修改游戏 413
第14章3D游戏:打靶训练、竞速游戏和地牢冒险 414
14.1 Flash 3D基础 415
14.1.1设置3D位置 415
14.1.2旋转物体 416
14.2打靶训练 418
14.2.1游戏元素 418
14.2.2设置类 419
14.2.3开始游戏 420
14.2.4绘制加农炮和标靶 420
14.2.5移动加农炮 421
14.2.6打出炮弹 422
14.2.7修改游戏 423
14.3 3D竞速游戏 423
14.3.1游戏元素 424
14.3.2建立影片 425
14.3.3用户控制 427
14.3.4玩家的移动 429
14.3.5 z索引排序 430
14.3.6修改游戏 431
14.4 3D地牢冒险 431
14.4.1游戏元素 432
14.4.2设置游戏 432
14.4.3构造地牢 433
14.4.4游戏主函数 436
14.4.5玩家的移动 437
14.4.6收集硬币 438
14.4.7游戏的局限性 439
14.4.8扩展游戏 439
第15章为iPhone制作游戏 441
15.1开始iOS开发 441
15.1.1需要准备什么 442
15.1.2为iOS的发布 443
15.1.3 iOS游戏的建立过程 447
15.2设计和编程的注意事项 448
15.2.1屏幕尺寸 448
15.2.2非网页 449
15.2.3触摸 449
15.2.4处理器速度 449
15.2.5加速计 450
15.3滑块拼图改编 451
15.3.1调整屏幕尺寸 451
15.3.2更改发布设置 452
15.3.3包含图片 452
15.3.4发布 453
15.4弹子迷宫游戏 454
15.4.1建立类 454
15.4.2开始游戏 455
15.4.3游戏实操 456
15.4.4碰撞检测 458
15.4.5游戏结束 459
15.4.6修改游戏 459
15.5为iOs设备而优化 460
15.5.1利用GPU和位图缓存 460
15.5.2对象池 462
15.5.3简化事件 462
15.5.4最小化屏幕重绘区 463
15.5.5更多优化方法 463
15.6 iPhone之外 465