《ActionScript 3.0宝典 第2版》PDF下载

  • 购买积分:22 如何计算积分?
  • 作  者:(美)布劳恩斯坦著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302274490
  • 页数:838 页
图书介绍:本书为希望在桌面上、浏览器中或移动设备上构建交互式应用程序的开发人员提供了一个良好的起点。本书介绍了完整的Flash平台的体系。

第Ⅰ部分ActionScript 3.0语言基础 3

第1章ActionScript 3.0简介 3

1.1 ActionScript 3.0概述 3

1.2探索Flash平台 4

1.2.1程序员的视角 4

1.2.2用户的视角 9

1.3从ActionScript 2.0过渡到ActionScript 3.0 11

1.3.1显示列表 11

1.3.2运行时错误 11

1.3.3运行时数据类型 11

1.3.4方法闭包 12

1.3.5自带事件模型 12

1.3.6正则表达式 12

1.3.7 E4X 12

1.4小结 12

第2章ActionScript 3.0语言基础 13

2.1 ActionScript 3.0概述 13

2.2使用变量 14

2.2.1变量声明剖析 15

2.2.2常量 16

2.2.3字面值 16

2.3注释代码 17

2.3.1注释的类型 18

2.3.2何时使用注释 19

2.3.3自注释的代码 19

2.4作用域简介 19

2.5数据类型简介 20

2.5.1声明类型 20

2.5.2使用无类型变量 21

2.6运算符 21

2.6.1一元与二元运算符 21

2.6.2运算顺序 22

2.6.3一些常用的运算符 22

2.7使用条件语句做出逻辑选择 24

2.7.1 if语句 24

2.7.2相等运算符 25

2.7.3对其他类型比较的结果进行测试 25

2.7.4 if…else语句 27

2.7.5 switch语句 28

2.7.6条件运算符 29

2.8使用循环重复执行操作 30

2.8.1使用for循环 30

2.8.2使用for…in和for each…in循环 31

2.8.3使用while和do…while循环 32

2.8.4 for循环和while循环的对比 34

2.8.5避免无限循环 34

2.8.6使用break和continue 34

2.9小结 35

第3章 函数与方法 36

3.1调用函数 36

3.2创建自定义函数 37

3.2.1定义函数 37

3.2.2向函数传递参数 38

3.3返回结果 41

3.4匿名函数 43

3.5函数作为对象 43

3.6递归函数 44

3.7小结 46

第4章 面向对象编程 47

4.1理解类 47

4.1.1类可以模拟现实世界 47

4.1.2类包含数据和操作 48

4.1.3类可以划分任务 48

4.1.4类是类型 48

4.1.5类包含程序 49

4.2面向对象编程中的术语 49

4.2.1对象 49

4.2.2类 49

4.2.3实例 50

4.2.4类型 50

4.3封装 50

4.3.1黑盒原则 51

4.3.2封装和多态 51

4.4包:类和函数 51

4.4.1类的唯一性和名称空间 52

4.4.2层次结构 53

4.4.3控制可见性 53

4.4.4包中允许使用的代码 54

4.4.5使用包中的代码 54

4.5使用继承 56

4.5.1使用继承构造代码 59

4.5.2继承、类型和多态 60

4.5.3继承与组合 61

4.5.4阻止继承 63

4.6访问控制属性 64

4.6.1 public和private 64

4.6.2 protected 66

4.6.3 internal 67

4.6.4使用名称空间定制访问控制 68

4.7方法和构造函数 71

4.8属性 72

4.8.1访问器 72

4.8.2避免副作用 74

4.8.3自引用代码 75

4.9使用静态方法和属性 76

4.9.1静态变量 77

4.9.2静态常量 78

4.9.3枚举 80

4.9.4静态方法 80

4.10重写行为 82

4.11设计接口 84

4.12操作类型 89

4.12.1类型兼容和强制转换 89

4.12.2显式类型转换 90

4.12.3确定类型 92

4.13创建动态类 92

4.14小结 93

第5章 验证程序 94

5.1错误简介 94

5.1.1编译时错误与运行时错误 94

5.1.2警告 95

5.1.3从Flash Professional和FlashBuilder获取反馈 95

5.2修复错误 98

5.3小结 100

第Ⅱ部分ActionScript 3.0的核心数据类型 103

第6章 文本、字符串和字符 103

6.1使用字符串字面值 103

6.2与字符串的相互转换 105

6.2.1使用toString()方法 105

6.2.2转换成字符串 105

6.2.3将字符串转换为其他类型 106

6.3合并字符串 107

6.4转换字符串的大小写 107

6.5使用字符串中的单个字符 108

6.5.1获取字符串中字符的个数 108

6.5.2获取特定的字符 109

6.5.3将字符转换为字符代码 109

6.6在字符串中执行查找 109

6.6.1通过子字符串查找 110

6.6.2 使用正则表达式进行查找 110

6.7字符串分解 111

6.8字符串编码和国际文本 111

6.9小结 112

第7章 数值、数学和日期 113

7.1理解数值类型 113

7.1.1数值集 113

7.1.2表示数值 114

7.1.3数值的数字表示 114

7.2在ActionScript中使用数值 116

7.2.1 Number 116

7.2.2 int 117

7.2.3 uint 117

7.2.4字面值 117

7.2.5边界情况 118

7.3操作数值 119

7.3.1数值转换 119

7.3.2字符串转换 120

7.4执行算术运算 121

7.5执行三角计算 122

7.6生成随机数 124

7.7操作日期和时间 125

7.7.1创建日期 125

7.7.2纪元时间 126

7.7.3时区 127

7.7.4访问并修改日期 128

7.7.5日期运算 129

7.7.6执行时间 129

7.7.7格式化日期 129

7.8小结 130

第8章 数组 131

8.1数组基础知识 131

8.1.1使用数组构造函数 132

8.1.2通过使用数组文本创建数组 132

8.1.3引用数组中的值 133

8.1.4在数组中查找数据项编号 133

8.2将数组转换为字符串 134

8.3在数组中添加并删除数据项 134

8.3.1使用concat()向数组末尾添加值 134

8.3.2应用堆栈操作push() 和pop() 135

8.3.3使用队列操作shift() 和unshift() 136

8.4截取、拼接和切割 137

8.4.1使用splice()插入和删除值 137

8.4.2使用slice0与数组子集协调 137

8.5在数组中循环访问数据项 138

8.5.1使用for循环 138

8.5.2使用for each…in循环 138

8.5.3使用forEach()方法 139

8.6搜索元素 140

8.7重新排序数组 140

8.7.1使用排序函数 140

8.7.2使用Reverse()翻转数组顺序 143

8.8把操作应用于数组的全部元素 144

8.8.1使用every()、 some()和filter()进行条件处理 144

8.8.2使用map()方法获得结果 146

8.9数组的替换选项 146

8.9.1关联数组 146

8.9.2多维数组 147

8.10数组的惊人属性 149

8.11小结 149

第9章 向量 150

9.1向量基础 150

9.1.1需要另一种数据类型的原因 151

9.1.2数组:比需要的功能更多 152

9.1.3向量:有效益的数组 152

9.1.4固定大小的向量 155

9.2通用和参数化的类型 155

9.2.1泛型向量 156

9.2.2非泛型向量 157

9.3向量的泛型方法 159

9.4创建并转换向量 161

9.4.1向量文本 161

9.4.2转换向量类型 161

9.4.3将向量转换为数组 162

9.5小结 162

第10章 对象和字典 164

10.1使用Object 164

10.1.1动态类 164

10.1.2创建对象 165

10.1.3访问对象属性 165

10.1.4 toString()方法 166

10.2将对象和字典用做关联数组 166

10.2.1比较数组、对象和字典 167

10.2.2测试存在性 168

10.2.3删除属性 169

10.2.4迭代 170

10.3在命名参数中使用对象 170

10.4将对象用做嵌套数据 171

10.4.1将XML用做对象 171

10.4.2 JSON 172

10.5小结 172

第11章XML和E4X 173

11.1 ActionScript中的XML 173

11.1.1 XML引用 173

11.1.2 E4X引用 174

11.1.3 XML文本 174

11.1.4 E4X运算符和语法简介 176

11.1.5遗留XML处理 177

11.2查询XML 177

11.2.1子坐标轴 177

11.2.2通配符运算符 179

11.2.3索引元素 179

11.2.4特性坐标轴 180

11.2.5文本坐标轴 181

11.2.6后代坐标轴 181

11.2.7父坐标轴 182

11.2.8自定义筛选器坐标轴 183

11.2.9快速引用 184

11.3修改XML 184

11.3.1插入节点 185

11.3.2删除节点和特性 188

11.3.3复制XML 189

11.3.4替换节点 189

11.4转换字符串 190

11.4.1将字符串转换为XML 190

11.4.2将XML转换为字符串 191

11.5从外部源中加载XML数据 193

11.6收集有关XML节点的元信息 194

11.6.1查找节点类型 194

11.6.2确定节点中内容的类型 195

11.7使用名称空间 195

11.7.1在ActionScript中创建XML名称空间 196

11.7.2查询名称空间化的XML节点 198

11.7.3查询名称空间中的XML 202

11.7.4附加的名称空间操作 202

11.8设置XML选项 203

11.9小结 203

第12章 正则表达式 205

12.1正则表达式简介 205

12.2编写正则表达式 206

12.3应用正则表达式 206

12.3.1 String方法和RegExp方法 206

12.3.2测试 207

12.3.3定位 207

12.3.4识别 209

12.3.5提取 210

12.3.6替换 211

12.3.7拆分 213

12.4构造表达式 213

12.4.1标准字符 214

12.4.2圆点字符 214

12.4.3转义字符 214

12.4.4元字符和元序列释义 215

12.4.5字符类 215

12.4.6限定符 216

12.4.7锚点和边界 217

12.4.8替换 219

12.4.9组 219

12.5正则表达式标志 220

12.5.1全局 220

12.5.2忽略大小写 220

12.5.3多行 221

12.5.4 Dotall 222

12.5.5扩展 222

12.6构造高级表达式 223

12.6.1贪婪和延迟匹配 223

12.6.2反向引用 224

12.6.3非捕获组和查找 225

12.6.4命名组 226

12.6.5需要考虑的国际因素 227

12.7使用RegExp类 227

12.7.1使用字符串操作构建动态表达式 227

12.7.2 RegExp公共属性 228

12.8小结 228

第13章 二进制数据和字节数组 229

13.1二进制概念 229

13.2位运算和运算符 232

13.2.1基本运算 232

13.2.2移位 232

13.2.3按位逻辑 233

13.3 ActionScript中的二进制类型 235

13.4使用字节数组 236

13.4.1创建字节数组 236

13.4.2编写数据 236

13.4.3读取数据 236

13.4.4压缩和解压缩 237

13.5字节数组的常见用途 237

13.5.1加载图像 237

13.5.2复制对象 238

13.6小结 239

第Ⅲ部分 显示列表 243

第14章 使用显示列表进行可视化编程 243

14.1显示列表和显示对象简介 244

14.1.1显示列表的结构 244

14.1.2坐标空间 245

14.1.3操作显示列表 246

14.2显示对象类 249

14.2.1 DisplayObject 249

14.2.2 InteractiveObjec 252

14.2.3 DisplayObjectContainer 252

14.2.4 Shape 253

14.2.5 Bitmap 253

14.2.6 Video 253

14.2.7 AVM1Movie 253

14.2.8 SimpleButton 253

14.2.9 TextField 254

14.2.10 Sprit 254

14.2.11 MovieClip 254

14.2.12 Loader 254

14.2.13 Stage 254

14.3几何类 258

14.3.1点 258

14.3.2矩形 259

14.4使用显示列表 260

14.4.1拖放和命中测试 260

14.4.2嵌套和累积转换 262

14.4.3全屏和舞台大小调整 263

14.5渲染和性能 264

14.5.1舞台大小和脏矩形 265

14.5.2显示对象的数量 265

14.5.3透明度、混合模式、掩码和滤镜 265

14.5.4文本 265

14.5.5位图、向量和位图缓存 266

14.5.6关于渲染 266

14.6小结 266

第15章 使用三维空间 268

15.1 ActionScript 3.0中的3D 268

15.1.1 3D坐标系统 270

15.1.2专业版Flash中的3D 271

15.1.3 3D显示对象的局限性 271

15.2再论DisplayObject 272

15.2.1再论几何类 275

15.2.2 3D中的鼠标和点转换 277

15.3修改投影 280

15.4软件3D库 283

15.5小结 284

第16章 在专业版Flash中使用DisplayObject 285

16.1舞台、元件和库 285

16.1.1创建元件 285

16.1.2命名实例 286

16.1.3嵌套实例 287

16.1.4将元件与类相关联 287

16.1.5编写相关类 288

16.1.6非图形元件类型 289

16.2导出和使用资源 289

16.2.1使用SWC中的资源 290

16.2.2使用SWF中的资源 290

16.3小结 291

第17章 文本、样式和字体 292

17.1 TextField简介 292

17.1.1创建一个新的TextField 293

17.1.2添加并替换文本 293

17.1.3设置TextField的大小 293

17.1.4设置TextField的缩放和旋转 295

17.1.5文本换行 295

17.1.6防止用户选择 296

17.1.7显示多语言文本和符号 296

17.2使用HTML和CSS的文本 297

17.2.1 TextField中的HTML支持 297

17.2.2向带有〈img〉的TextField中添加图像或者SWF文件 298

17.2.3受支持的CSS属性 298

17.2.4样式表对象和CSS分析 300

17.3背景和边界处理 301

17.4 TextFormat的样式文本 301

17.4.1对齐 303

17.4.2文本块缩进 303

17.4.3粗体 303

17.4.4项目符号 303

17.4.5颜色 303

17.4.6字体 304

17.4.7缩进 304

17.4.8斜体 304

17.4.9行距 304

17.4.10字母间距 304

17.4.11左页边距 304

17.4.12右页边距 304

17.4.13字号 305

17.4.14制表位 305

17.4.15 目标 305

17.4.16下划线 305

17.4.17 url 306

17.5输入TextField 306

17.5.1 3种文本字段 306

17.5.2在输入字段中生成TextField 307

17.5.3限制用户输入 307

17.5.4可以使用制表符的输入文本字段 309

17.5.5密码文本字段 309

17.6与TextField事件交互 309

17.6.1 focusln和focusOut事件 309

17.6.2文本输入事件 311

17.6.3链接事件 314

17.6.4滚动事件 315

17.7交互式排印 315

17.7.1行文本和段落文本 315

17.7.2按照位置查找文本 317

17.7.3定位并度量文本 317

17.7.4滚动文本 320

17.8字体 321

17.8.1设备字体和嵌入字体 321

17.8.2管理活动字体和字体对象 323

17.8.3嵌入字体 323

17.8.4动态加载字体 325

17.8.5使用嵌入的字体 325

17.8.6反失真 326

17.9小结 327

第18章 高级文本布局 328

18.1理解高级文本控件 328

18.1.1开发工具中的高级文本控件 329

18.1.2为什么有两个引擎 330

18.1.3目的 330

18.2 Flash Text Engine 330

18.3文本布局框架 333

18.3.1存储内容并使用模型进行格式化 334

18.3.2使用控制器布局文本 335

18.3.3文本布局标记 340

18.3.4可用的格式选项 345

18.3.5编辑功能 345

18.3.6撤消和重做历史 347

18.3.7可编程编辑 348

18.3.8流和容器配置 352

18.3.9 TextField适配器类 352

18.4字体回顾 352

18.4.1嵌入CFF字体 353

18.4.2字体查找 354

18.5小结 355

第19章 打印 356

19.1 Flash中打印的原因 356

19.2控制Flash中的打印机输出 357

19.2.1介绍PrintJob类 357

19.2.2发送打印请求 357

19.2.3确定打印目标以及格式选项 358

19.2.4 Flash打印输出可能存在的问题 360

19.3向应用程序中添加打印功能 360

19.4小结 363

第Ⅳ部分 事件驱动程序设计 367

第20章 事件和事件流 367

20.1事件简介 367

20.1.1星期六早晨事件 367

20.1.2事件术语 369

20.2 EventDispatcher类 370

20.2.1使用EventDispatcher 370

20.2.2通过复合使用EventDispatcher 374

20.3使用Event对象 375

20.4添加并删除事件侦听器 376

20.5事件流 378

20.5.1事件流阶段 379

20.5.2操作中的事件流 381

20.6阻止默认行为 383

20.7小结 383

第21章 与鼠标和键盘交互 385

21.1鼠标和键盘事件处理 386

21.1.1查找目标 386

21.1.2冒泡和嵌套剪辑 387

21.1.3侦听所有事件 388

21.2鼠标交互 388

21.2.1单击 389

21.2.2按钮模式和链接手形 390

21.2.3复杂的单击 391

21.2.4滚动更新 393

21.2.5拖动 395

21.2.6位置跟踪和光标 396

21.2.7阻止所有鼠标输入 399

21.2.8鼠标滚轮 401

21.3键盘交互 401

21.3.1解释键盘按键 402

21.3.2修改键 404

21.3.3相关事件 404

21.3.4 IME 404

21.4焦点 405

21.4.1查找或者设置当前的焦点 405

21.4.2焦点事件 407

21.4.3使用Tab键切换焦点 408

21.4.4焦点矩形 408

21.5上下文菜单 409

21.5.1创建并设置上下文菜单 409

21.5.2自定义默认项 410

21.5.3添加自定义项 411

21.6小结 413

第22章 计时器和时间驱动程序设计 414

22.1计时器基础知识 414

22.1.1创建计时器 415

22.1.2侦听计时器事件 415

22.1.3启动、停止并重置计时器 416

22.2处理计时器事件 417

22.3延迟函数的执行 418

22.4创建世界时钟 419

22.5输入帧事件 421

22.6其他时间相关函数 421

22.6.1 getTimer() 421

22.6.2 setTimeout() 422

22.6.3 setInterval() 422

22.6.4 clearInterval() 422

22.7线程简述 422

22.8小结 423

第23章 多点触控和加速计输入 424

23.1为受众制订计划 424

23.2使用多点触控 425

23.2.1触控模式 427

23.2.2笔势模式 431

23.2.3与触控有关的方法 434

23.3使用加速计 435

23.4其他传感器 436

23.5小结 436

第Ⅴ部分 错误处理 441

第24章 错误和异常 441

24.1表示失败的方法 441

24.2理解异常 442

24.2.1抛出异常 443

24.2.2使用Try和Catch捕获异常 443

24.2.3异常数据流 444

24.2.4未捕获的异常 447

24.2.5 finally子句 447

24.2.6重新抛出异常 448

24.3 Flash Player产生的错误 448

24.4自定义异常 450

24.5处理异步错误 451

24.6捕获未处理的事件 452

24.6小结 452

第25章 使用AVM2调试器 454

25.1调试器简介 454

25.2启动调试器 454

25.2.1启动并停止Flash专业版调试器 455

25.2.2启动并停止Flash Builder调试器 456

25.2.3调试器比较 457

25.3控制执行 458

25.3.1在未捕获异常处终止 458

25.3.2在断点处停止 459

25.3.3按照需求终止 460

25.4幕后揭秘 460

25.4.1解释Variable面板 461

25.4.2 Flash Builder的Variable 面板和监视 462

25.5通过代码导航 462

25.5.1继续 462

25.5.2调用堆栈 463

25.5.3单步执行 464

25.5.4单步跳过 465

25.5.5逐步跳出 465

25.6调试一个简单的示例 465

25.7有效使用调试器 467

25.8小结 468

第26章 使应用程序具有容错性 469

26.1制订策略 469

26.2确定要处理的错误类型 469

26.3分类失败 470

26.4用日志记录错误 471

26.5通知用户 473

26.6分解样式示例 473

26.7小结 475

第Ⅵ部分 外部数据 479

第27章 联网基础与Flash Player的安全性 479

27.1 HTTP简介 480

27.2 URL请求简介 482

27.3导航到某个网页 482

27.4加载器 483

27.4.1图形文件格式 484

27.4.2获取加载进程的信息 484

27.4.3获取已加载内容 488

27.4.4加载外部SWF 490

27.4.5使用加载器解释内存中的文件 494

27.5 URLLoader 495

27.5.1加载文件 495

27.5.2加载与取消加载 495

27.5.3跟踪加载进程 496

27.5.4加载不同格式的文件 496

27.6通过URLRequest发送变量 500

27.6.1通过URLLoader发送请求与获取响应 501

27.6.2通过sendToUrl()发送请求 502

27.7理解Flash Player的安全性 502

27.8小结 504

第28章 与远程服务进行通信 506

28.1基于HTTP的Web服务 507

28.1.1 REST 508

28.1.2 SOAP 509

28.1.3 XML-RPC 510

28.2套接字服务 510

28.3 Flash Remoting 513

28.3.1 NetConnection 514

28.3.2 Responder 515

28.4小结 515

第29章 使用SharedObject存储和发送数据 517

29.1持久存储方式对比 517

29.1.1在本地共享对象中存储信息 518

29.1.2在本地文件中存储信息 518

29.1.3在服务器上存储信息 518

29.1.4在浏览器中存储信息 518

29.2共享对象的适用场景 519

29.3共享对象与远程通信 520

29.4使用SharedObj ect 520

29.4.1获取SharedObject 520

29.4.2对SharedObject进行读取和写入 521

29.4.3删除SharedObject中的信息 522

29.4.4保存信息 522

29.5在SWF间共享信息 522

29.5.1使用安全连接 524

29.5.2与ActionScript 1.0和2.0SWF共享信息 525

29.6应对大小限制 525

29.6.1用户设置 525

29.6.2用户请求 526

29.6.3尽早请求空间 526

29.6.4事先请求空间 527

29.6.5使用flush()方法 527

29.6.6查看已用空间 528

29.7存储自定义类 528

29.7.1原样存储自定义类 528

29.7.2创建自序列化类 530

29.8小结 532

第30章 文件访问 533

30.1文件API的功能 533

30.2 FileReference简介 534

30.2.1选择文件 534

30.2.2确定文件何时被选中 535

30.2.3获取文件属性 536

30.3上传文件 537

30.4在服务器端处理文件上传请求 537

30.5将文件下载到磁盘 540

30.6将文件加载到内存 542

30.7将数据存储到磁盘 543

30.8小结 546

第Ⅶ部分 声音和视频 549

第31章 播放和生成声音 549

31.1声音系统简介 549

31.2 Sound对象简介 550

31.2.1从外部文件或URL中加载声音 551

31.2.2缓冲声音流 551

31.2.3在SWF中嵌入声音 552

31.3控制声音播放 554

31.3.1播放和停止声音 554

31.3.2设置播放声音的起始位置和循环次数 555

31.3.3快进、快退、暂停和重新播放声音 556

31.4应用声音转换 558

31.5声音元数据处理 558

31.5.1检查加载进度 558

31.5.2获取歌曲的ID3数据 559

31.6音频采样 560

31.7音频提取 563

31.8音频合成 564

31.9检测音频的功能 565

31.10小结 566

第32章 播放视频 567

32.1视频和Flash平台 567

32.1.1视频源 568

32.1.2编解码器和容器格式 569

32.1.3元信息 570

32.1.4分发方式 571

32.1.5编码 573

32.1.6播放 574

32.2实现一个视频播放器 576

32.2.1 Video类 576

32.2.2 NetConnection类 576

32.2.3 NetStream类 577

32.2.4集成 579

32.3小结 583

第33章 捕获声音和视频 584

33.1使用摄像头输入视频 584

33.1.1获取Camera对象 584

33.1.2通过Camera查看视频 585

33.1.3修改Camera的设置 586

33.1.4检测Camera的行为 588

33.1.5捕获和分析Camera 数据 588

33.2使用麦克风输入声音 588

33.2.1获取Microphone对象 588

33.2.2播放Microphone的输入 589

33.2.3修改Microphone的设置 589

33.2.4检测Microphone的活动 591

33.2.5捕获和分析Microphone的数据 592

33.3 Flash媒体服务器 593

33.4小结 594

第Ⅷ部分 图形程序设计与动画 597

第34章 几何和颜色变换 597

34.1 DisplayObject对象和Transform对象 597

34.2 2D仿射变换 598

34.2.1矩阵和坐标 599

34.2.2各种仿射变换及其矩阵 601

34.2.3 Matrix类 602

34.3颜色变换 606

34.3.1颜色填充 606

34.3.2颜色变换涉及的数学知识 606

34.3.3重置和合并颜色变换 608

34.3.4应用颜色变换 608

34.4 3D变换 609

34.4.1 3D基本概念回顾 610

34.4.2 3D仿射变换 613

34.4.3投影变换 614

34.4.4 ActionScript中的3D变换 616

34.5小结 623

第35章 编程绘制矢量图形 624

35.1概述 624

35.2绘图基础 626

35.2.1移动画笔 626

35.2.2绘制直线段 627

35.2.3绘制曲线 631

35.2.4填充路径 634

35.2.5清除图形 636

35.3设置绘制风格 636

35.3.1纯色 636

35.3.2渐变 641

35.3.3位图 645

35.3.4着色器 647

35.4绘图原语 649

35.4.1矩形和正方形 649

35.4.2圆形和椭圆 649

35.4.3圆角矩形 650

35.5示例:一个绘图应用程序 651

35.6批量绘制 655

35.6.1绘制路径 656

35.6.2将路径存储于命令中 660

35.6.3批量执行普通绘制命令 662

35.6.4复制和粘贴图形 663

35.7绘制3D图形 664

35.8小结 664

第36章 编程绘制位图图形 666

36.1位图及其应用 666

36.2创建和显示位图 668

36.2.1创建空的BitmapData实例 668

36.2.2创建内嵌资源的实例 669

36.2.3显示位图 669

36.2.4位图质量 670

36.2.5释放位图数据 670

36.3捕获和复制位图 670

36.3.1从显示对象中复制 670

36.3.2从BitmapData对象中复制 672

36.4像素级访问 679

36.4.1访问单个像素 679

36.4.2访问内存中的位图数据 681

36.5操作颜色 683

36.5.1使用纯色填充 683

36.5.2通过倾倒填充替换颜色 684

36.5.3颜色变换 684

36.5.4获取柱状图 686

36.5.5通过阈值替换颜色 687

36.5.6通过调色板映射重新映射颜色 689

36.5.7检测纯色区域 691

36.6位图效果 693

36.6.1应用滤镜 693

36.6.2滚动位图 694

36.6.3使用像素溶解 694

36.6.4添加噪声 694

36.7小结 698

第37章 应用滤镜 700

37.1滤镜简介 700

37.1.1对显示对象应用滤镜 701

37.1.2多个滤镜 702

37.2模糊滤镜 702

37.3投影滤镜 703

37.4斜角滤镜 705

37.5渐变斜角滤镜 707

37.6发光滤镜 710

37.7渐变发光滤镜 713

37.8颜色效果 714

37.8.1亮度 715

37.8.2色彩 716

37.8.3负片 718

37.8.4对比度 719

37.8.5转变为灰度 720

37.8.6饱和度 721

37.9卷积滤镜 722

37.10置换图滤镜 726

37.11着色器 730

37.12小结 730

第38章 使用Pixel Bender编写着色器 731

38.1 Pixel Bender简介 732

38.1.1像素着色器应用场景 732

38.1.2像素着色器的工作原理 733

38.1.3集成Pixel Bender和FlashPlayer 735

38.2 Pixel Bender内核语言 736

38.2.1语法 736

38.2.2内核结构 737

38.2.3基本控制结构 740

38.2.4类型 740

38.2.5函数 743

38.3与Pixel Bender内核进行交互 745

38.3.1加载字节码 745

38.3.2在ActionScript中运行内核 746

38.3.3操作内核 747

38.3.4 ActionScript中的一个基本着色器 748

38.3.5 ActionScript中的效果着色器 749

38.4混合其他数据 753

38.4.1为Pixel Bender准备数据 754

38.4.2访问内核中的数据 755

38.4.3执行和监控ShaderJob 755

38.4.4双着色器实验 756

38.5小结 761

第39章 编写动画脚本 762

39.1理解Flash Player和动画 762

39.1.1帧速率 762

39.1.2 Flash Player操作 763

39.2用代码实现动画 764

39.2.1根据时间实现动画 764

39.2.2根据帧实现动画 766

39.2.3动画和速度 766

39.3用Flash Professional实现动画 768

39.3.1回顾:补间、关键帧、缓动 769

39.3.2运动XML简介 769

39.3.3使用Flash Motion包 776

39.4使用Flex实现动画 778

39.5选择第三方的动画工具包 778

39.6小结 779

第40章3D高级主题 780

40.1游戏计划 781

40.2投影一批点 781

40.3三角形条带 786

40.4背面剔除 788

40.5纹理映射 789

40.6 Z排序、阴影和其他主题 794

40.6.1多边形Z排序 794

40.6.2阴影和灯光简介 797

40.7小结 798

第Ⅸ部分Flash的具体应用 803

第41章 全球化、可访问性和颜色校正 803

41.1全球化和本地化 803

41.1.1确定区域 804

41.1.2格式化数值 809

41.1.3格式化日期 810

41.1.4格式化货币 811

41.1.5本地化字符串比较 812

41.1.6本地化大小写 814

41.1.7错误处理 814

41.2可访问性 815

41.3颜色校正 816

41.4小结 817

第42章在Web上部署Flash 818

42.1在页面中嵌入Flash内容 818

42.2使用SWFObject嵌入Flash内容 819

42.3启用Flash Player选项 821

42.3.1透明Flash 821

42.3.2硬件加速 822

42.3.3全屏Flash 822

42.4向SWF传递变量 822

42.5自动升级Flash Player 824

42.6小结 824

第43章与JavaScript对接 825

43.1使用ExternalInterface 825

43.1.1在Flash中调用JavaScript函数 826

43.1.2在JavaScript中调用ActionScript函数 827

43.1.3 JavaScript交互和Flash Player安全性 827

43.2使用ExternalInterface创建混合应用程序 828

43.3小结 830

第44章Flash应用程序之间的本地连接 831

44.1本地连接及其用途 831

44.2实现本地连接 832

44.2.1发送应用程序 832

44.2.2接收应用程序 834

44.3本地连接和安全策略 835

44.3.1在发送程序中指定域 836

44.3.2从通道名中删除域 836

44.3.3允许接收应用程序建立跨域本地连接 836

44.4示例:跟随鼠标移动 837

44.5小结 838