第1章 编程基础:如何制作视频游戏 1
1.1所需基本软硬件配置 1
1.2需要知道的内容 2
1.3不必知道的内容 2
1.4一切不过是编程而已 2
1.4.1编程?但是我数学学得不好 3
1.4.2我已经知道怎么编程了 4
1.4.3我能做出什么样的游戏 4
1.4.4学习一些新术语 4
1.5打好地基 5
1.5.1需要的文件 5
1.5.2设置工作环境 6
1.5.3设置Flash开发人员工作区 7
1.5.4设置ActionScript代码格式首选参数 7
1.6编写你的第一个程序 8
1.6.1开始编程 8
1.6.2不要忽略类 9
1.6.3使用构造函数 11
1.6.4对齐代码 12
1.6.5你的指令是什么 13
1.6.6导入并扩展Movieclip类 14
1.6.7为代码添加注释 17
1.7发布SWF文件 18
1.8项目面板 21
1.9 AS3.0与Flash Player的更多内容 22
1.10命名规范 23
1.11小结 24
第2章 创建对象 25
2.1理解交互对象 25
2.1.1设置工作环境 26
2.1.2创建故事书的第一页 28
2.2绘制第一个页面 30
2.2.1绘制背景 30
2.2.2组织图层与时间轴 33
2.2.3绘制前景对象 35
2.2.4将对象组合到一起 42
2.2.5加上几朵云 43
2.2.6添上几朵花 45
2.2.7再学习一些技术 47
2.3创建角色 49
2.4使用按钮 52
2.4.1创建按钮元件 53
2.4.2理解按钮状态 56
2.4.3创建指针经过状态 57
2.4.4创建按下状态 58
2.4.5复制按钮 59
2.4.6库的组织 60
2.4.7在场景中加入按钮 61
2.5小结 61
第3章 为对象编写程序 63
3.1显示故事书的第一页 63
3.2对按钮进行编程 71
3.2.1使用点标记法 71
3.2.2如何调用方法 73
3.3事件与事件侦听器 79
3.4对故事书按钮进行编程 84
3.4.1 onHillButtonclick事件处理函数 87
3.4.2使用onPondButtonclick事件处理函数 87
3.4.3添加后退按钮 88
3.4.4要知道何时使用这种模式 90
3.5小结 91
第4章 控制影片剪辑对象 92
4.1影片剪辑属性 92
4.1.1设置项目文件 94
4.1.2上下移动小猫 94
4.1.3对象的x坐标与y坐标 98
4.1.4递增移动 98
4.1.5调整影片剪辑对象的大小 105
4.1.6隐藏影片剪辑对象 110
4.1.7猫眼看世界 113
4.2控制影片剪辑的时间轴 117
4.3小结 128
第5章 游戏逻辑判断 129
5.1设置项目文件 129
5.2设计GUI 131
5.2.1输入/输出 133
5.2.2添加文本字段 133
5.3创建一个简单的猜谜游戏 137
5.4变量知识扩展 139
5.5逻辑判断 144
5.5.1显示游戏状态 148
5.5.2游戏胜负 155
5.5.3使用方法模块化程序 160
5.6完善游戏 161
5.6.1解决随机数字 161
5.6.2禁用Guess按钮 164
5.6.3游戏重玩 166
5.6.4最终程序代码 168
5.7进一步分析 170
5.7.1记录猜过的数字 171
5.7.2添加视觉显示 171
5.7.3使用回车键输入数字 171
5.7.4对调游戏逻辑 173
5.8小结 174
第6章 控制游戏角色 175
6.1设置项目文件 175
6.2用键盘控制游戏角色 176
6.2.1键盘控制对象的错误方法 176
6.2.2键盘控制对象的正确方法 182
6.3设置舞台边界 189
6.3.1在舞台边界阻止移动 190
6.3.2创建更好的猪圈 191
6.3.3屏幕折返 195
6.4卷屏 196
6.4.1创建游戏环境 197
6.4.2调优游戏角色 198
6.4.3卷屏基础 199
6.4.4优化卷屏 201
6.4.5完善卷动 206
6.5知识拓展 209
6.6小结 210
第7章 碰撞检测 211
7.1创建项目文件 211
7.2哎呀,撞上了 214
7.3改变动态文本字段 215
7.4状态改变的触发 216
7.5减少生命槽的值 218
7.6更新分数 223
7.7拾取及掉落物体 229
7.8 hitTestobject的缺点 235
7.8.1检测与对象边框的碰撞 235
7.8.2试着容忍它 237
7.8.3建立一个子对象 237
7.9使用hitTestPoint 239
7.10建立障碍物体 247
7.11基于轴的碰撞检测 250
7.12小结 261
第8章 面向对象的游戏设计 262
8.1面向对象编程简介 262
8.1.1如何将类绑定到元件上 263
8.1.2使用属性和方法 263
8.1.3私有属性和方法 264
8.1.4如何在类之间利用取值方法和赋值方法来进行通信 266
8.1.5开始学习面向对象技术 270
8.2实例练习:地牢迷宫大冒险 270
8.2.1构建游戏 271
8.2.2准备项目文件及场景物体 272
8.2.3进入地牢 272
8.2.4游戏关卡布局 274
8.2.5游戏中的对象 274
8.2.6制作时间轴动画 276
8.2.7为对象制作动画 277
8.2.8在舞台上添加或移除对象 281
8.2.9地牢迷宫大冒险的工作原理 285
8.3 DungeonOne Manager类 287
8.3.1移动游戏角色 290
8.3.2检起钥匙 293
8.3.3打开第一扇门 294
8.3.4添加声音到游戏中 298
8.3.5创建Sound和Soundchannel对象 299
8.3.6与敌人发生碰撞 300
8.3.7游戏失败 301
8.3.8检起星形武器 302
8.3.9发射子弹 304
8.3.10使用子弹对象 305
8.3.11子弹与敌人的碰撞 307
8.3.12游戏角色与墙壁的碰撞 309
8.3.13同步ENTER_FRAME事件 311
8.3.14游戏获胜 312
8.4改进游戏 313
8.4.1添加一个新的关卡 313
8.4.2创建一个游戏管理器 315
8.5从舞台中移除对象 322
8.6小结 324
第9章 平台游戏:游戏中的物理学及数据管理 325
9.1模拟真实的运动 325
9.1.1建立项目文件 326
9.1.2加速度 327
9.1.3摩擦力 333
9.1.4反弹 335
9.1.5重力 337
9.1.6跳跃 339
9.2实例学习:捉虫者 342
9.2.1建立项目文件 343
9.2.2使用Player_Platform类 344
9.2.3添加平台 350
9.2.4平台上的碰撞检测 352
9.2.5使用循环 355
9.2.6使用循环访问平台对象 358
9.2.7子对象的全局x和y坐标 359
9.2.8转向一个对象 363
9.2.9让青蛙的眼睛转向游戏角色 365
9.2.10改变堆叠层次 366
9.2.11在代码中添加一些小虫——真正的小飞虫 369
9.2.12使用数组 376
9.2.13收集小虫 381
9.2.14完整的Mai_Bugcatcher类 386
9.3新的collision.playerAndPlatform实用程序 390
9.4小结 397
第10章 高级对象和角色控制 398
10.1拖放对象 398
10.1.1面向过程方式的拖放 399
10.1.2面向对象方式的拖曳 406
10.1.3继承的替代品:复合 411
10.2通过鼠标来移动对象 413
10.2.1让一个对象移到鼠标所在位置 414
10.2.2添加动态滤镜 416
10.2.3在对象运动中使用缓动 418
10.2.4延迟鼠标跟随 420
10.3高级缓动 422
10.3.1 Tween类的属性和方法 423
10.3.2 easing包和方法 425
10.3.3 Tween事件 427
10.3.4缓动到随机位置并计算速度 428
10.4实例练习:复杂的鼠标角色控制 434
10.4.1 Player.as 434
10.4.2移动游戏角色 437
10.4.3旋转魔杖 439
10.4.4 360°开火 439
10.4.5 Bullet.as 442
10.5对象工厂 449
10.5.1产品类 449
10.5.2工厂类 450
10.5.3客户端类 451
10.6敌人的人工智能系统 453
10.6.1跟随游戏角色 453
10.6.2从游戏角色旁逃走 456
10.6.3瞄准并朝游戏角色开火 457
10.7使用其他的角色控制系统 462
10.8发送事件 463
10.9实例:太空射击 465
10.9.1游戏结构 466
10.9.2创建子弹 467
10.9.3检测子弹与对象间的碰撞 468
10.9.4在舞台边界移除子弹 471
10.9.5类与事件 472
10.10小结 472