actionscript编程
A. ActionScript 是什么是代码编程么想从头开始学点简单的。请专家作些简单的介绍。
什么是ActionScript
ActionScript是Flash的脚本语言。正是由于Flash中增加、完善 了ActionScript,才能创作出来的动画具有很强的交互性。在简单的动画中,Flash按顺序播放动画中的场景和帧,而在交互动画中,用户可以使用键盘或鼠标与动画交互,大大增强了用户的参与,同时也大大增强了Flash动画的魅力。例如,可以单击动画中的按钮,使动画跳转到不同部分继续播放;可以移动动画中的对象,如移动你手中的手枪,使射出的子弹准确地击中目标;可以在表单中输入信息,反馈你对公司的意见等。
有了ActionScript,就可以通过设置动作来创建交互动画。使用Normal Mode动作面板上的控件,无需编写任何动作脚本就可以插入动作。如果已经熟悉ActionScript,也可以使用专家模式动作面板编写脚本。命令的形式可以是一个动作(如命令动画停止播放),也可以是一系列动作。很多动作的设置只要求有少量的编程经验,而其它一些动作的应用则要求比较熟悉编程语言,用于高级开发。
ActionScript同样拥有语法、变量、函数等,而且与JavaScript类似,它也由许多行语句代码组成,每行语句又是一些命令、运算符、分号等组成。它的结构与C/C++或者Java等高级编程语言相似。所以,对于有高级编程经验的人来说,学习ActionScript是很低轻松的。
ActionScript与JavaScript结构类似,但是它的编程要容易得多,每一行的代码都可以简单地从ActionScript面板中直接调用。在任何时候,对输入的ActionScript代码,Flash都会检查语法是否正确,并提示如何修改。完成一个动画的ActionScript编程以后,可以直接在ActionScript的调试过程中,检查每一个变量的赋值过程,设置检查带宽的使用情况。ActionScript更容易使编程学习者理解面向对象编程中难以理解的对象、属性、方法等名词。
ActionScript中的对象可以包含数据或作为电影剪辑以图像形式出现在编辑区中。所有的电影剪辑都是预定义类MovicClip的实例。每个电影剪辑实例均包含MovicClip类的所有属性(如_height、_rotation、_totaframes)的所有方法(如gotoAndPlay、loadMovie、startDrag)。
B. ActionScript 3.0游戏编程的目录
《actionscript 3.0游戏编程(第2版)》
第1 章 使用flash 和actionscript 3.0 1
1.1 什么是actionscript 3.01
1.2 创建简单的actionscript 程序2
1.2.1 trace 的简单用法3
1.2.2 创建屏幕输出5
1.2.3 我们的第一个actionscript 3.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 html25
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 使宏者用timer48
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 hangman281
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