第一图书网

ActionScript 3.0权威指南

乔珂 等编著 电子工业出版社
出版时间:

2008-7  

出版社:

电子工业出版社  

作者:

乔珂 等编著  

页数:

808  

字数:

1294000  

Tag标签:

无  

前言

  序:美妙的语言  借阅读《ActionScript 3.0权威指南》书稿的机会,我不禁重新审视ActionScript——这门独具魅力的语言,一个广阔思想的展台。  ActionScript最初设计用于Flash交互与控制动画。当开发者可以快速地建立动画,配合音效,并根据浏览者的意图来产生互动时,是多么令人振奋!越来越多的人开始使用Flash创建属于自己的个人网站,在互联网上展示自己。网络上随处可见五彩缤纷的Flash作品、游戏,使我看到了许多让人赞叹的精彩创意。  自2.0以后ActionScript类库的更新,标志着ActionScript已经成为一门面向对象语言,随着越来越多的Flash作为前端RIA(Rich Internet application)应用的出现,宣告了ActionScript进入新的时代。直到Micromedia被Adobe公司收购以后,ActionScript遇到了一个不大不小的变革。说大,是因为语言结构发生了很大的变化;说小,是因为虽然类的组织进行了更加完善的架构,而根本的思想还是从之前的体系演化而来的。当然,在这个过程中,ActionScript的能力得到了进一步的强化,也吸引了很多从事Java或C++的程序员进来,于是,Flash被更加明确地分成了两类:界面动画图形设计与交互程序。不可否认,ActionScript 3核心的类库做出了大幅度的重构,并且在语法上也和ActionScript 2存在着较大的分歧。然而,要注意的是,虽然这个改动导致了很多从事ActionScript 2开发者难以适应,但是,新的架构体系与其说是改变了很多东西,还不如说是提炼了很多东西,它以更规范、更高效的形态来逐步改变开发者的思想。令人欣慰的是,本书作者乔珂也清楚看到了ActionScript的变化脉络,在这部800多页的专著中,他用易于理解的思路和语言详细阐述了ActionScript作为一门日趋丰满的面向对象语言的独特魅力,并结合自身开发经验为读者提供了丰富的案例来借鉴学习。  我一直认为,无论是Flash IDE也好,Flex Builder也好,或者什么都好,作为开发环境而言,并没有优劣之分。直到现在,还有很多朋友在提出类似到底哪一个更好的问题。其实,无论是RIA何种应用,游戏,网站,动画展示等,无非都是以“swf”为后缀的文件,用Flash Player解析呈现而已,这是Flash在终端所展示的形态。现在,你既可以用Flash轻松加入喜爱的图片、音乐,并有序地组织好这些资源,也可以使用Flex快速创建应用程序,通过调用别的后台语言,如PHP、JSP、ColdFusion等获取数据,再使用合理的逻辑把数据和界面组织起来。如果你熟悉了ActionScript,在这个平台里,你可以尽情地按照你的想象来发挥,我相信现在的ActionScript 3有着非常优秀的架构体系和宽广的应用面,也相信会有更多的朋友加入到这个充满活力的阵营中来。  感谢Adobe开发组的所有成员,奉献和创造了如此美妙的语言。  希望看到本书的读者,不要错过领悟美妙的ActionScript的机会。  “蓝色理想”网站站长 曾沐阳

内容概要

本书将ActionScript 3.0作为一种全新的、独立的、具有自己特色的语言,系统全面地介绍了此语言的结构和概念。  全书以培养实际开发能力为目的,将语言的基本语法、核心概念及新增功能统一起来。根据知识点在语言逻辑体系和实际应用中的权重,对语法和概念重新进行分级和组织。结合Flash网络应用和脚本开发的实际,围绕面向对象的开发思想,深入阐述了ActionScript 3.0的自身逻辑。不仅解决了应该如何做的问题,还回答了为何如此的疑问。引领读者体会语法表象之内的深层美感,培养ActionScript 3.0开发思维,使读者能流畅地编写代码。   本书内容由浅入深平缓过渡,适用于各种程度的读者。即使读者没有相关知识背景,也能轻松阅读本书,并最终掌握ActionScript 3.0。对于有开发经验的读者,阅读本书有助于脱离惯性思维,重新认识这种语言。

作者简介

乔珂,互动设计师,矢量插画家。常年致力于图形图像系统的基础研究,追踪国际设计工业和程序开发的最新动态。先后供职于多家大型互联网企业和研究机构,在超过8年的设计开发经历中,结合设计时尚与程序数理,逐步创立了高动态性、高时效性的成本评估模型。参与和负责过多个大

书籍目录

第1篇 ActionScript 3.0的外围知识 第1章 ActionScript 3.0综述   1.1 脚本语言基础知识    1.1.1 脚本语言的概念    1.1.2 脚本和程序    1.1.3 脚本语言的特性   1.2 Flash和ActionScript    1.2.1 LEGO设计模式    1.2.2 Flash和Action的起源    1.2.3 发展历程    1.2.4 ActionScript 3.0的进步    1.2.5 通用性    1.2.6 FlashLite    1.2.7 ActionScript 3.0编程工具   1.3 Flash的内部机制    1.3.1 Flash应用的生命流程    1.3.2 SWF文件的Tag结构    1.3.3 Tag结构存储实例    1.3.4 编译解析    1.3.5 AVM2的解析    1.3.6 执行时序   1.4 AS3同RIA开发    1.4.1 交互程序的进化    1.4.2 软件系统体系结构    1.4.3 RIA的诞生及其优势    1.4.4 Adobe AIR简介    1.4.5 ActionScript 3.0与Adobe AIR开发    1.4.6 AIR学习步骤   1.5 小结  第2章 配置开发环境   2.1 Flash CS3开发环境    2.1.1 选择Flash版本    2.1.2 安装Flash CS3    2.1.3 配置Adobe AIR环境    2.1.4 Flash CS3的代码编辑器    2.1.5 快捷工具栏    2.1.6 专家工具    2.1.7 代码调整工具    2.1.8 分页式代码标签    2.1.9 自定义代码编辑器    2.1.10 自动套用格式   2.2 Adobe Flex Builder开发环境    2.2.1 系统要求    2.2.2 安装准备    2.2.3 安装模式    2.2.4 安装Flex Builder 2    2.2.5 Flash Player 9 Debug版    2.2.6 完成Flex Builder 2的安装    2.2.7 Flex Builder 2集成开发环境    2.2.8 Navigator文件浏览器    2.2.9 Flex Builder中的代码编辑器    2.2.10 Outline提纲浏览器    2.2.11 嵌入式Outline窗口    2.2.12 添加调试面板    2.2.13 Flex Builder 2设计辅助环境    2.2.14 自定义Flex Builder 2   2.3 FlashDevelop开发环境    2.3.1 FlashDevelop 3.0的特色    2.3.2 安装FlashDevelop    2.3.3 项目编译测试    2.3.4 自定义代码编辑器    2.3.5 优化中文字符显示    2.3.6 全局自定义类库    2.3.7 项目自定义类库    2.3.8 设置项目输出 2.4 小结 第3章 创建“Hello World”程序   3.1 Flash CS3创建“Hello World”程序    3.1.1 创建ActionScript 3.0项目    3.1.2 确定代码位置    3.1.3 输入ActionScript 3.0脚本    3.1.4 测试“Hello World”影片    3.1.5 使用舞台元件    3.1.6 舞台元件与脚本访问    3.1.7 控制舞台文本    3.1.8 动态创建类型实例    3.1.9 操作显示列表    3.1.10 ActionScript 3.0的灵活性   3.2 Flex Builder 2创建“Hello World”程序    3.2.1 Flex程序的构成    3.2.2 MXML的结构    3.2.3 MXML的命名空间    3.2.4 MXML创建和定义组件    3.2.5 用户界面同脚本逻辑的分离    3.2.6 MXML的专用组件    3.2.7 创建Flex项目    3.2.8 分析自动代码    3.2.9 使用Flex快速编写代码    3.2.10 编译MXML结构的“Hello World”程序    3.2.11 在MXML中使用ActionScript 3.0    3.2.12 添加标签事件响应    3.2.13 MXML和Action Script的执行逻辑    3.2.14 ActionScript的内联、级联和外联    3.2.15 使用外联函数    3.2.16 可视化MXML编辑器    3.2.17 复杂代码的编译    3.2.18 贯彻MXML的分置原则   3.3 使用FlashDevelop 3.0编写程序    3.3.1 新建FlashDevelop项目    3.3.2 创建MXML应用文件    3.3.3 代码输入技巧    3.3.4 编译和执行MXML应用    3.3.5 创建外联脚本文件    3.3.6 按钮控件及事件响应    3.3.7 项目编译和交互测试    3.3.8 数字密码输入器    3.3.9 界面分析    3.3.10 新建项目    3.3.11 创建密码框    3.3.12 创建按钮    3.3.13 建立ActionScript 3.0函数    3.3.14 整合表示层和逻辑层文件    3.3.15 编译和运行程序   3.4 手工编译    3.4.1 Flex编译器    3.4.2 配置全局路径    3.4.3 创建代码文件    3.4.4 命令行手工编译    3.4.5 手工编译项目   3.5 小结 第2篇 ActionScript 3.0的语言要素 第4章 语法基础结构   4.1 标识符    4.1.1 标识符的概念    4.1.2 标识符命名的技术规则    4.1.3 命名约定   4.2 关键字    4.2.1 表达式    4.2.2 语句控制    4.2.3 定义    4.2.4 属性关键字    4.2.5 编译指令    4.2.6 区分IMPORT和INCLUDE关键字    4.2.7 类的长名称   4.3 数据类型    4.3.1 数据类型的概念    4.3.2 基元值和复杂值    4.3.3 数据类型的对象封装    4.3.4 Boolean数据类型    4.3.5 int数据类型    4.3.6 Null数据类型    4.3.7 Number数据类型    4.3.8 String数据类型    4.3.9 uint数据类型    4.3.10 void数据类型    4.3.11 无类型数据类型    4.3.12 复杂数据类型   4.4 变量和常量    4.4.1 字面值    4.4.2 变量及其声明    4.4.3 变量的赋值    4.4.4 变量的默认值    4.4.5 Number变量和NaN    4.4.6 变量的作用域    4.4.7 变量的后置声明    4.4.8 常量   4.5 运算符和功能符    4.5.1 加法算术运算符    4.5.2 乘法算术运算符    4.5.3 一元运算符++和--    4.5.4 左移位运算符>和>>>    4.5.6 与、或、非的位操作    4.5.7 位操作与特征位    4.5.8 特征位的赋值    4.5.9 特征位的开关操作    4.5.10 “^”位异或操作符    4.5.11 高级开关控制    4.5.12 逻辑运算符    4.5.13 比较运算符    4.5.14 赋值运算符    4.5.15 组合赋值运算符    4.5.16 功能符   4.6 类型转换和类型检查    4.6.1 隐式类型转换    4.6.2 显式类型转换    4.6.3 失效转换    4.6.4 静态类型语法    4.6.5 语法检查    4.6.6 编译时类型检查    4.6.7 运行时类型检查    4.6.8 数据类型成员的检测    4.6.9 as运算符    4.6.10 强制类型转换    4.6.11 运算符与隐式类型转换    4.6.12 数值类型的转换    4.6.13 布尔类型的转换    4.6.14 字符串的转换   4.7 小结  第5章 流程控制与函数   5.1 条件流程    5.1.1 条件流程的概念    5.1.2 if()语句    5.1.3 if()...else...语句    5.1.4 三元运算符    5.1.5 多级条件流程    5.1.6 if()…else if()…语句    5.1.7 switch语句基础用法    5.1.8 switch语句常见错误    5.1.9 条件流程的逻辑控制   5.2 循环流程    5.2.1 for循环    5.2.2 for()语句执行逻辑    5.2.3 for…in循环    5.2.4 for each…in循环    5.2.5 while循环    5.2.6 do…while循环    5.2.7 break和continue    5.2.8 label标签与循环嵌套    5.2.9 非循环标签    5.2.10 标签嵌套    5.2.11 循环与作用域   5.3 函数    5.3.1 函数的基本概念    5.3.2 函数定义语句    5.3.3 调用函数    5.3.4 作用范围和定义位置    5.3.5 使用参数    5.3.6 可选参数    5.3.7 参数的传递    5.3.8 函数输出    5.3.9 使用返回值    5.3.10 函数表达式    5.3.11 函数表达式的缺点    5.3.12 函数表达式的内存优势    5.3.13 函数表达式与编译提升    5.3.14 嵌套函数    5.3.15 使用arguments对象    5.3.16 arguments的方法    5.3.17 arguments与递归函数    5.3.18 arguments与函数重载    5.3.19 可变参数    5.3.20 函数作用域链    5.3.21 函数封包    5.3.22 函数对象   5.4 流程图    5.4.1 程序流程图的概念    5.4.2 程序流程图的作用    5.4.3 分级流程图体系    5.4.4 步骤列表    5.4.5 伪代码    5.4.6 经典数据流程图的构成    5.4.7 指向线与执行框(矩形框)    5.4.8 判别框(菱形框)    5.4.9 起始框和终止框(圆圈)    5.4.10 流程图设计原则    5.4.11 常见流程图结构    5.4.12 嵌套结构的流程图   5.5 小结  第6章 面向对象编程   6.1 对象和类    6.1.1 编程模式    6.1.2 模式进化    6.1.3 OOP与模块化    6.1.4 OOP开发过程    6.1.5 类设计策略    6.1.6 类元素的属性定义    6.1.7 术语记法    6.1.8 类的构造函数    6.1.9 继承:父类和子类    6.1.10 覆盖和重载    6.1.11 多态    6.1.12 嵌套类和动态类   6.2 面向对象的脚本实现    6.2.1 原型对象机制    6.2.2 操作原型对象    6.2.3 原型链    6.2.4 原型继承    6.2.5 原型机制下的抽象类    6.2.6 抽象类继承    6.2.7 操作AS3原型对象    6.2.8 灵活选择继承机制    6.2.9 命名空间的概念    6.2.10 创建命名空间    6.2.11 应用命名空间    6.2.12 引用命名空间    6.2.13 关键字AS3   6.3 自定义类    6.3.1 自定义类的作用    6.3.2 定义ActionScript 3.0类    6.3.3 类属性关键字    6.3.4 类体    6.3.5 属性和方法    6.3.6 创建类成员    6.3.7 成员属性    6.3.8 static成员属性    6.3.9 静态属性    6.3.10 静态方法    6.3.11 实例方法    6.3.12 交叠访问    6.3.13 this与覆盖继承    6.3.14 构造函数    6.3.15 构造初始化    6.3.16 get和set存取器    6.3.17 set/get存取器与属性覆盖    6.3.18 方法的封装   6.4 类的继承    6.4.1 继承成员    6.4.2 直接执行语句    6.4.3 创建和使用包    6.4.4 包与命名空间    6.4.5 利用包组织代码    6.4.6 继承访问控制    6.4.7 方法的继承覆盖    6.4.8 属性的继承与覆盖    6.4.9 关键字super    6.4.10 多态    6.4.11 静态成员与作用域链   6.5 面向对象进阶    6.5.1 联合继承    6.5.2 接口的概念    6.5.3 接口的作用    6.5.4 定义接口    6.5.5 实现接口    6.5.6 接口实例    6.5.7 接口检测    6.5.8 联合接口的实现    6.5.9 接口使用技巧    6.5.10 抽象类的内部机制    6.5.11 构造者对象    6.5.12 类对象的类型检查    6.5.13 traits对象与效率提升    6.5.14 动态类的概念    6.5.15 动态属性    6.5.16 动态方法    6.5.17 成员检查    6.5.18 成员删除    6.5.19 动态静态成员   6.6 小结  第7章 AS3常用对象   7.1 数组和枚举    7.1.1 数组的概念    7.1.2 创建索引数组    7.1.3 索引数组的插入与删除    7.1.4 索引数组的插入与删除    7.1.5 索引数组的排序    7.1.6 属性排序    7.1.7 数组的输出    7.1.8 关联数组的概念    7.1.9 创建关联数组    7.1.10 字典    7.1.11 数组的循环遍历    7.1.12 数组的复制    7.1.13 多维数组   7.2 字符串    7.2.1 创建字符串    7.2.2 字符串的值    7.2.3 字符串的长度    7.2.4 拼接和转换    7.2.5 字符大小    7.2.6 搜索    7.2.7 截取和分割    7.2.8 替换   7.3 时间    7.3.1 创建Date对象    7.3.2 利用毫秒创建Date    7.3.3 “Date()”参数列表    7.3.4 使用日期字符串    7.3.5 设置与读取    7.3.6 访问属性    7.3.7 日期运算    7.3.8 时区运算   7.4 显示列表    7.4.1 显示对象    7.4.2 显示对象容器    7.4.3 显示列表的概念    7.4.4 显示列表的优势    7.4.5 创建显示对象    7.4.6 添加显示对象    7.4.7 显示对象排序    7.4.8 删除显示对象    7.4.9 调整显示对象   7.5 小结 第3篇 语言应用 第8章 脚本动画基础   8.1 动画定时器    8.1.1 动画要素    8.1.2 Timer类    8.1.3 使用定时器    8.1.4 精确性   8.2 位置和大小    8.2.1 基本原理    8.2.2 实例演示    8.2.3 Matrix类    8.2.4 应用实例    8.2.5 实例分析    8.2.6 斜切变形   8.3 颜色和透明度    8.3.1 操作透明度    8.3.2 ColorTransform类    8.3.3 实例应用    8.3.4 代码分析    8.3.5 调色技巧    8.3.6 闪动动画    8.3.7 实现闪动效果    8.3.8 状态检查   8.4 淡入和淡出    8.4.1 数学模型    8.4.2 脚本实现    8.4.3 模块的封装    8.4.4 淡入淡出模块    8.4.5 渐变闪动    8.4.6 透明度渐变   8.5 位移运动    8.5.1 直线运动    8.5.2 创建程序实例    8.5.3 位移    8.5.4 运动阶段    8.5.5 重复运动    8.5.6 位移速度    8.5.7 计算点距离    8.5.8 调整运动阶段    8.5.9 代码实现    8.5.10 速度    8.5.11 行程    8.5.12 匀速位移动画   8.6 变形矩阵    8.6.1 矩阵基础知识    8.6.2 矩阵的运算    8.6.3 矩阵与空间变换    8.6.4 旋转变换矩阵    8.6.5 仿射变形    8.6.6 仿射变形的次序    8.6.7 Matrix类的本质    8.6.8 矩阵变形方法    8.6.9 矩阵算法原理   8.7 旋转变形    8.7.1 旋转和坐标系    8.7.2 旋转变形    8.7.3 相对坐标系    8.7.4 伸缩和映射    8.7.5 内建伸缩方法    8.7.6 自定义伸缩方法    8.7.7 分析映射逻辑    8.7.8 多次变形    8.7.9 位移向量运算    8.7.10 改变内建行为   8.8 小结  第9章 动画进阶和脚本仿真   9.1 创建波形位移运动    9.1.1 波形运动的分解    9.1.2 创建进阶动画场景    9.1.3 建立脚本框架和动画入口    9.1.4 创建波动函数    9.1.5 改变波的角度    9.1.6 波的折线形   9.2 运动对象的实时倒影    9.2.1 实时倒影的原理    9.2.2 实现垂直映射    9.2.3 完善水平映射    9.2.4 在动画中应用倒影    9.2.5 让倒影更加真实   9.3 力学模拟和加速减速    9.3.1 力和加速度的关系    9.3.2 加速度的代码描述    9.3.3 力的分解    9.3.4 力学模拟游戏    9.3.5 增强游戏效果    9.3.6 模拟昆虫的飞行    9.3.7 昆虫飞行代码分析    9.3.8 强化效果及数据采样   9.4 重力和弹性    9.4.1 抛物线的力学分析    9.4.2 简单抛物过程的代码实现    9.4.3 落地检测    9.4.4 弹跳的力学原理    9.4.5 弹跳过程的算法    9.4.6 用AS3实现弹跳函数    9.4.7 碰撞形变和弹跳形变    9.4.8 弹性形变的逻辑流程    9.4.9 计算形变因子    9.4.10 编写弹性形变函数    9.4.11 代码流程分析    9.4.12 形变代码分析    9.4.13 纳尔逊设计模式   9.5 斜切变形    9.5.1 斜切的原理    9.5.2 斜切的代码实现    9.5.3 简单斜切动画    9.5.4 斜切的仿真应用    9.5.5 加速斜切变形    9.5.6 减速斜切与振荡变形    9.5.7 减速斜切函数    9.5.8 变速斜切的改良    9.5.9 改良函数分析   9.6 小结  第10章 影片剪辑与图形图像   10.1 影片剪辑控制    10.1.1 影片剪辑与时间轴    10.1.2 创建影片剪辑    10.1.3 自定义影片剪辑    10.1.4 控制影片剪辑    10.1.5 逆序播放    10.1.6 帧标签    10.1.7 FrameLabel类    10.1.8 剪辑容器    10.1.9 影片剪辑属性    10.1.10 嵌套剪辑   10.2 绘图API    10.2.1 矢量图与点阵图    10.2.2 绘图API概述    10.2.3 绘制直线线条    10.2.4 线条样式    10.2.5 绘制曲线    10.2.6 绘制不规则形状    10.2.7 形状填充    10.2.8 绘制常见形状   10.3 操作位图    10.3.1 位图基本知识    10.3.2 基本图像格式    10.3.3 使用Loader加载外部图像    10.3.4 检测加载事件    10.3.5 BitmapData类与Bitmap类    10.3.6 构建BitmapData    10.3.7 使用“draw()”方法    10.3.8 创建随机位图    10.3.9 Perlin纹理    10.3.10 操作位图像素    10.3.11 操作块像素    10.3.12 像素检测    10.3.13 克隆位图    10.3.14 蒙版复制    10.3.15 操作通道    10.3.16 锁定与解锁   10.4 文本    10.4.1 文本操作基本知识    10.4.2 修改静态文本    10.4.3 TextSnapshot类    10.4.4 创建动态文本    10.4.5 嵌入图片    10.4.6 文本滚动    10.4.7 文本格式    10.4.8 TextRenderer与反锯齿    10.4.9 级联样式表    10.4.10 字段选择    10.4.11 输入文本   10.5 调整显示对象    10.5.1 遮罩    10.5.2 位图缓存与性能优化    10.5.3 Alpha通道遮罩    10.5.4 自动背景    10.5.5 显示对象的混合    10.5.6 调整颜色    10.5.7 滤镜的原理    10.5.8 常见滤镜    10.5.9 使用滤镜    10.5.10 位图滤镜   10.6 小结  第11章 事件与交互   11.1 事件响应与异常处理    11.1.1 事件响应机制    11.1.2 事件流    11.1.3 Event类    11.1.4 Event扩展类    11.1.5 IEventDispatcher接口    11.1.6 管理事件侦听器    11.1.7 操作事件对象    11.1.8 自定义事件    11.1.9 编写自定义事件类    11.1.10 对象的事件通信    11.1.11 操作下行事件流    11.1.12 侦听顺序    11.1.13 操作上行事件流    11.1.14 管理事件目标   11.2 异常处理    11.2.1 异常    11.2.2 错误类    11.2.3 try…catch语句    11.2.4 抛出异常    11.2.5 捕获异常    11.2.6 异常甄别    11.2.7 异步错误的概念    11.2.8 错误事件    11.2.9 处理异步错误    11.2.10 try…catch流控制    11.2.11 Flash Player与调试   11.3 用户交互    11.3.1 交互对象类    11.3.2 键盘输入    11.3.3 键盘事件流    11.3.4 鼠标事件    11.3.5 鼠标本地化    11.3.6 鼠标的移动    11.3.7 拖拽   11.4 系统交互    11.4.1 System类概述    11.4.2 设置文本编码    11.4.3 操作剪贴板    11.4.4 查询环境信息    11.4.5 获取系统分辨率    11.4.6 输入法控制   11.5 小结  第12章 使用外部数据   12.1 媒体资源数据    12.1.1 加载视频资源    12.1.2 控制视频播放    12.1.3 自定义播放界面    12.1.4 加载和播放声音    12.1.5 追踪音频进度    12.1.6 追踪音频进度    12.1.7 控制音量    12.1.8 加载和显示图像    12.1.9 加载和显示图像    12.1.10 加载对象的删除    12.1.11 加载SWF影片   12.2 文本与XML    12.2.1 URLLoader类    12.2.2 加载外部文本    12.2.3 追踪加载进度    12.2.4 URLVariables类    12.2.5 处理URL字符串文本    12.2.6 XML类    12.2.7 加载XML文件    12.2.8 修改XML加载项    12.2.9 XML特殊访问    12.2.10 URLStream类    12.2.11 加载流数据   12.3 存储数据    12.3.1 数据共享对象    12.3.2 创建共享对象    12.3.3 访问路径和安全    12.3.4 双重存储机制    12.3.5 操作共享数据    12.3.6 共享数据    12.3.7 遍历数据项    12.3.8 删除数据项   12.4 网络通信    12.4.1 套接字连接    12.4.2 Socket套接字类    12.4.3 读写Socket    12.4.4 XMLSocket类    12.4.5 使用XMLSocket    12.4.6 接收XML数据    12.4.7 上传文件    12.4.8 下载文件    12.4.9 多文件上传   12.5 小结 第4篇 实战篇 第13章 编写交互游戏   13.1 程序分析    13.1.1 游戏功能    13.1.2 操作分析    13.1.3 模块划分    13.1.4 执行过程   13.2 编写游戏原型    13.2.1 创建游戏舞台    13.2.2 图块类的划分    13.2.3 ImgSlot类    13.2.4 创建位图图块    13.2.5 GameSlot类    13.2.6 创建屏幕画板    13.2.7 判断画板位置   13.3 游戏场景    13.3.1 分析游戏场景    13.3.2 场景基础    13.3.3 建立图块数组    13.3.4 图块分割    13.3.5 建立线性随机序列    13.3.6 创建画板数组    13.3.7 装载位图    13.3.8 舞台空位    13.3.9 组装游戏场景   13.4 完善游戏功能    13.4.1 控制模式    13.4.2 侦听鼠标事件    13.4.3 侦测目标画板    13.4.4 执行屏幕交换    13.4.5 游戏胜利判定    13.4.6 测试鼠标控制    13.4.7 侦听键盘控制    13.4.8 搜寻热点画板    13.4.9 发送虚拟消息   13.5 小结  第14章 RSS新闻阅读器   14.1 开发目标    14.1.1 基本功能    14.1.2 程序界面    14.1.3 功能模块    14.1.4 执行流程    14.1.5 临时调试项目   14.2 RSS结构剖析    14.2.1 RSS概述    14.2.2 应用领域    14.2.3 Flash RSS的优势    14.2.4 RSS版本    14.2.5 RSS 2.0基本格式    14.2.6 channel标签    14.2.7 item标签    14.2.8 样例RSS源   14.3 登录界面    14.3.1 创建login类    14.3.2 接收登录输入    14.3.3 创建自定义按钮    14.3.4 按钮状态类    14.3.5 添加登录按钮    14.3.6 布置登录界面    14.3.7 绘制登录框    14.3.8 显示登录界面    14.3.9 界面测试   14.4 用户管理    14.4.1 登录事件    14.4.2 用户ID取存器    14.4.3 验证登录信息    14.4.4 创建用户    14.4.5 密码验证    14.4.6 消息输出    14.4.7 登录框恢复    14.4.8 功能整合    14.4.9 编写测试项目    14.4.10 类关系分析    14.4.11 测试用户管理   14.5 RSS源列表    14.5.1 创建frame类    14.5.2 绘制背景框    14.5.3 导入Button组件    14.5.4 RSS订阅    14.5.5 发送订阅事件    14.5.6 响应订阅事件    14.5.7 DataProvider数据源    14.5.8 List列表组件    14.5.9 创建RSS源列表   14.6 RSS阅读器整合    14.14.6.1 创建RSS阅读器项目    14.6.2 创建全局对象    14.6.3 添加侦听器    14.6.4 登录状态切换    14.6.5 Tween动画    14.6.6 登录交互动画    14.6.7 用户登录    14.6.8 添加RSS源    14.6.9 频道简介    14.6.10 浏览RSS新闻   14.7 小结  第15章 全屏幕FLV视频播放器   15.1 视频播放器概述    15.1.1 基本功能    15.1.2 模块分析    15.1.3 构建方式    15.1.4 视频播放器向导    15.1.5 Video类   15.2 视频回放    15.2.1 视频回放原理    15.2.2 NetConnection网络连接对象    15.2.3 NetStream数据流对象    15.2.4 使用Video对象    15.2.5 基本操作步骤    15.2.6 自定义视频回放类    15.2.7 创建自定义方法    15.2.8 使用flvvideo类   15.3 视频控制    15.3.1 创建回放控制类    15.3.2 换肤功能    15.3.3 视频的播放和暂停    15.3.4 添加控制组件    15.3.5 控制按钮与事件侦听    15.3.6 创建控制面板实例    15.3.7 调整播放位置    15.3.8 视频流的停止和关闭   15.4 回放进度与流缓冲    15.4.1 获取视频元数据    15.4.2 绑定回调函数    15.4.3 跟踪播放进度    15.4.4 使用Slider组件    15.4.5 回放进度的交互    15.4.6 设置视频缓冲    15.4.7 数据加载进度   15.5 全屏模式    15.5.1 播放器版本支持    15.5.2 全屏模式    15.5.3 屏幕坐标与缩放模式    15.5.4 舞台对齐    15.5.5 区域全屏    15.5.6 切换屏幕模式   15.6 小结

章节摘录

  第1篇 ActionScript 3.0的外围知识  第1章 ActionScript 3.0综述  可以毫不夸张地说:是ActionScript的发展推动着Flash应用的不断成功。而Flash应用的不断成功,也为ActionScript的发展提供了更广阔的舞台。  随着FlexBuilder 2和Flash CS3的发布,ActionScript 3.0(以下AS3亦指ActionScript 3.0)横空出世了。ActionScript 3.0的推出使脚本语言的发展上升到新的高度。人们对交互体验需求的日益增长,Flash已经突破网站设计的单一领域,扩展到诸如动画制作、交互设计、视频点播、手持移动设备、桌面富媒体应用、在线社区、游戏制作等诸多领域。Flash软件也派生出众多衍生软件,满足不同场合、不同人群的设计开发需要。  随着脚本语言的日趋成熟,ActionScript在Flash应用中的作用也越来越巨大。如果脱离脚本语言,设计富有吸引力的Flash应用将是不可能的任务。无论是对于Flash界面设计师还是Flash脚本程序员,掌握好ActionScript 3.0都是不容回避的问题。  1.1 脚本语言基础知识  Flash的ActionScript是一种脚本语言,它符合脚本语言的一般特性。脚本语言并不是一种被删减的,面向初学者的不完整入门语言;相反,脚本语言有自己的适用场合和体系优势。随着互联网的发展,脚本语言的设计和开发已经成为程序设计行业最具活力的领域。脚本语言的功能变得越来越强大,拥有无限灿烂的发展前景。  1.1.1 脚本语言的概念  脚本语言(Script Language)主要是指:在每次运行时,进行解释和编译的计算机程序语言。脚本语言一般都是根据脚本代码,分步解释执行。脚本代码通常是按照明文的ASCII文本保存的,便于读取和修改。脚本语言在不同场合又被称为批处理语言(Batch Languages)和作业控制语言(Job Control Languages)。  脚本语言并不是指一门专业的计算机语言,而是一类计算机语言的总称。脚本语言由来已久,在DOS时代编写BAT批处理程序,就是一种脚本编写。随着计算机应用的不断发展,脚本语言发展出很多种类,除了Flash ActionScript之外,还包括Java Script,Lingo脚本语言、Python脚本语言、VBScript脚本语言等。

媒体关注与评论

  感谢Adobe开发组的所有成员,奉献和创造了如此美妙的语言。  希望看到本书的读者,不要错过领悟美妙的ActionScript的机会。  ——“蓝色理想”站长  曾沐阳  正如本书作者所言,ActionScript发展到今天已经是一门独立且有特色的开发语言,学习ActionScript迫切需要一本知识全面、讲解深入且案例丰富的实用指南。本书正是这个选择。  ——“闪吧”网站站长  古墓对于那些苦于无法进入一个崭新的Flash世界的用户来说,这本书会真正带你入门。对于已经有了一定Flash开发经验的用户来说,本书会使通往AS3的旅程变得更加顺畅。  ——“闪客帝国”创始人  边城浪子  虽然市面上有很多关于ActionScript的图书,但大都是针对编程人员来撰写的,从事设计工作的人难以掌握。现在,我们终于看到了一本为设计师编写的关于如何学习ActionScript的图书。这本书从设计师的角度出发,深入浅出地进行剖析并详细讲解,能让学习者少走很多弯路。希望读者能够在这本书中便捷、高效地学习到ActionScript技术。——DDC传媒网站总编  王东


编辑推荐

  原创经典,字字珠玑。  资深动画师乔珂力作,ActionScript 3.0经典图书横空出世。蓝色理想、闪吧、DDC传媒三大网站大力推荐。  ·彻底理清ActionScript 3.0的概念、语法和新特性,一一瓦解学习的难点。  ·遵循ActionScript 3.0自身逻辑,深入剖析动画设计的各种算法。  ·深入ActionScript 3.0的深层机制,建立独立、完整的开发思维。  ·结合实际开发,提供大量典型示例和3个综合案例,具有超强的实用性。  ·适用于Flash、Flex等多种开发环境,具有较强的通用性。

图书封面

图书标签Tags

广告

下载页面


ActionScript 3.0权威指南 PDF格式下载



刚开始翻了翻,感觉对于有程序语言基础的程序员来说绝对是一本好书。初步感觉还直的不错,有深度,不过还没看完,等看完再说两句。


解释的面面具到,而且很多东西从本质出发,从根源出发。我读了100多页,对FLASH理解有了更深的认知


这本书不错,适合初学着,指南指南乃是指导作用也,不懂的就问它了。


确实权威


很便宜啊


我有编程基础,但第一次搞ActionScript,感觉比较适合我


规范:作者对于面向对象的命名规则简直是狗屁不通,请问有哪门面向对象的语言定义类的时候全部小写的?范围:对于as3语言的基本面介绍的太过详细,等全部读完,已经一半书去掉了。但有一点要提,不管是flex还是flash得朋友,对于flash事件模型的底层类都应该了解,我看到现在只有这本书介绍了用法以及使用经验。但是对于初学flex得朋友可能不适合。因为这本书完全忽略flex高级类。而是着重讲了实现flex之前的底层类得用法。如果大家想把flex当成vb,那么这本书不适合你。


这本书内容还算不错,只是没有电子版在光盘里面。有些遗憾!在电脑里面没法看呀!!希望有电子版能下载!


比较还可以 不过还没时间去细细研究!


这本书,虽然很厚重的样子,但是还是不能把它,当做一本工具书来用.


感觉书中内容挺全的,还没细看,就是纸太差了,上面全是污点


给单位买的,拿到手后感觉书好厚,内容很多


在看, 还不错!


在网上见到的书,就买了回来,意外的厚,八百多页,读了快一半了,个人感觉还不错,但还没资格评论它是不是好书,呵呵


这本书写的不错,很详细。但不适合我,我需要的是Flex方面的,我现在往下看。


作为工具书很好,但是不适合借鉴


还行,有些地方写得不够详细,很莫名的就跳跃了。总的来说凑合了。


买了几乎没怎么看,我原来学过AS,但书里面用的语言太专业,而且例图都是英文的.....感觉作者应该知道的很多,但是对于初学者几乎看不懂...我看着头疼,没看过几次一直放着了.


这本书写得不怎么好,并不适合初学者也不适合开发者,比较适合程序员,我被骗了..无语


讲述概念不结合实例,不易懂。对没基础的不要买讲述概念不结合实例,不易懂。对没基础的不要买讲述概念不结合实例,不易懂。对没基础的不要买


不知作者是为了达到页数多呢?还是为了让书看上去更厚一点。讲的大都是空话!特别的前面基础的部份。那有什么写的。就是算是写给没有基础的人看也不用写成这样!有很多地方看了给人都有这样的感觉:如:if话句没有执行是因为表达示是false。因为表达示是flase所以if语多没有执行。就是这种话。他要讲的很多次。都是前面讲后面。后面讲前面。要是这样我还不如看帮助文档来的实际!都要比这本书讲的要好!失望啊!


第一,这本书不适合初学者,没有基础程序知识看这本是看不下去的,会耽误了你.第二,如果熟悉javascript,C/C++的朋友,那不用我说便知道这本书内容质量如何了.第三,奉劝大家不要选择这本书.


我买了一本,觉得就是把as3.0的英文帮助直接翻译成中文。不像有些书是作者工作实践的领悟和总结。


我觉得太深奥了,我是初学者,感觉不适合,建议不要买


相关图书