Flash ActionScript 3.0的出现,不仅从形式上改变了ActionScript,而且从本质上改变了ActionScript,使ActionScript 3.0成为了真正的面向对象编程语言。
本书从最简单的编程知识出发,带领读者走进编程的大门,是一本不可多得的ActionScript 3.0入门书。本书在注重基础的同时,从更高的层次来介绍ActionScript 3.0的面向对象特性,使读者在不知不觉巾掌握面向对象编程。
本书还介绍了许多数学、物理、设计模式等知识,并从这些知识出发,结合ActionScript 3.0的特性,介绍了大量编程经验和技巧,使读者看完本书就能开发较大型的应用程序。
本书适合初、中级读者,游戏、网站开发人员,网络应用程序开发人员等,也适合广大的ActionScript3.0编程爱好者。
第1章 了解ActionScript3.0
1.1 ActionScript的历史
1.2 认识舞台和主时间轴
1.2.1 舞台(Stage)
1.2.2 主时间轴(Main Timeline)
1.2.3 理解舞台和主时间轴
1.3 了解变量
1.3.1 定义变量
1.3.2 给变量赋值
1.3.3 输出变量值
1.3.4 重复赋值
1.3.5 变量stage与舞台
1.3.6 变量root与主时间轴
1.4 通过属性面板定义变量
1.4.1 控制影片剪辑实例
1.4.2 控制动态文本
1.5 变量的执行顺序
1.5.1 帧的播放顺序
1.5.2 图层的加载顺序
1.5.3 play()命令无效的问题
1.6 了解动作面板
1.6.1 动作面板的组成
1.6.2 使用代码提示
1.6.3 代码折叠
1.7 代码注释
1.7.1 单行注释
1.7.2 多行注释
1.7.3 文档注释
1.8 代码位置
1.8.1 外部文件代码
1.8.2 类代码
第2章 简单数据类型
2.1 数据类型
2.1.1 声明数据类型
2.1.2 包装类
2.2 int类型和int类
2.2.1 int类型表示整数
2.2.2 取整数的数位
2.2.3 了解toStrin90方法
2.3 uint类型与uint类
2.3.1 RGB颜色
2.3.2 键控代码
2.4 Number类型与Number类
2.4.1 浮点数
2.4.2 注意浮点运算
2.5 Boolean类型与Boolean类
2.6 String类型与String类
2.6.1 定义字符串
2.6.2 字符串的索引
2.6.3 了解转义符
2.7 变量名的命名规则
2.7.1 变量名是标识符
2.7.2 同一个变量名不能重复定义
2.7.3 不能用MovieClip类的属性名和方法名
2.7.4 不能使用关键字
2.8 变量的更多知识
2.8.1 变量的默认值
2.8.2 变量定义与代码优化
2.8.3 “*”类型与自动类型转换
2.8.4 类型转换函数
第3章 复杂数据类型
3.1 复杂数据类型
3.1.1 包与类
3.1.2 使用Stage类
3.1.3 new运算符
3.2 使用显示类
3.2.1 创建MovieClip类的实例
3.2.2 创建Bitmap类的实例
3.2.3 用反射动态创建实例
3.2.4 使用事件
3.3 静态方法和静态属性
3.3.1 了解Math类
3.3.2 事件类的常量属性
3.3.3 使用静态方法
3.4 理解引用
3.4.1 简单数据类型变量
3.4.2 复杂数据类型变量
3.4.3 比较简单变量和引用变量
3.5 垃圾回收
3.5.1 引用计数算法
3.5.2 标记和清除算法
3.5.3 delete与动态类
3.6 类型检测与转换
3.6.1 typeof()函数
3.6.2 is运算符与继承链
3.6.3 类型转换函数与as运算符
3.7 数组访问运算符
3.7.1 创建和访问数组
3.7.2 this关键字
3.7.3 动态访问属性和方法
第4章 流程控制
4.1 条件语句
4.1.1 if语句
4.1.2 if-else语句
4.1.3 条件运算符
4.1.4 else.if语句
4.1.5 if语句的嵌套
4.1.6 switch语句
4.2 循环语句
4.2.1 while循环语句
4.2.2 d0…while循环语句
4.2.3 for循环语句
4.2.4 for in循环语句
4.2.5 for each in语句
4.2.6 循环语句的嵌套
4.3 其他语句
4.3.1 break语句
4.3.2 continue语句
4.3.3 label标签语句
4.4 帧循环
4.4.1 多帧循环
4.4.2 enterFrame事件
4.5 间隔循环
4.5.1 setInterval0函数
4.5.2 setTimeout0函数
4.5.3 Timer类
第5章 函数
5.1 认识函数
5.2 定义和调用函数
5.2.1 用function定义函数
5.2.2 用“()”调用函数
5.2.3 函数名及引用
5.2.4 返回语句
5.2.5 如何编写函数
5.3 函数的参数
5.3.1 形式参数和实际参数
5.3.2 值传递和引用传递
5.3.3 参数的默认值
5.3.4 任意数量的参数
5.4 变量的类型
5.4.1 局部变量
5.4.2 实例变量
5.5 函数调用的高级知识
5.5.1 arguments类与递归调用
5.5.2 Function类与函数调用
5.5.3 动态调用函数
5.5.4 取代条件语句的技巧
5.6 开发3D菜单
5.6.1 结构设计
5.6.2 把素材导入库中
5.6.3 从库中导出图片
5.6.4 让图标旋转
5.6.5 设置图标的属性
5.6.6 添加菜单的交互性
第6章 显示对象
6.1 初识显示类
6.1.1 抽象、继承与DisplayObject类
6.1.2 交互.InteractiveObject类
6.1.3 容器与DisplayObjectContainer类
6.2 绘图与Graphics类
6.2.1 了解Graphics类
6.2.2 编写绘图代码的技巧
6.2.3 绘图曲线
6.2.4 绘制填充图形
6.3 了解显示列表
6.3.1 显示列表(display list)与应用程序架构
6.3.2 创建显示列表
6.3.3 上一级引用
6.3.4 下一级引用
6.3.5 关于手工创建的显示列表
6.4 深度管理
6.4.1 了解深度
6.4.2 z顺排列
6.4.3 交换深度
6.4.4 深度使用技巧
6.5 基于时间轴的程序开发
6.5.1 【库】面板
6.5.2 帧标签与FrameLabel类
6.5.3 打方块游戏
6.5.4 帧代码与addFrameScript()函数
6.6 预载技术
6.6.1 了解Loaderlnf0类
6.6.2 最简单的预载
6.6.3 预载的高级用法
6.7 使用动画包
6.7.1 使用Animator类制作补问动画
6.7.2 使用Tween类制作补间动画
6.7.3 使用TransitionManager类制作过渡效果
第7章 事件处理
7.1 事件处理概述
7.1.1 早期的事件处理模型
7.1.2 新事件处理模型的特点
7.1.3 事件的发送者
7.1.4 事件名
7.1.5 事件的接收者
7.1.6 事件对象
7.1.7 事件类的架构
7.2 掌握Event类
7.2.1 事件流(event flow)
7.2.2 Event类的bubbles和eventPhase属性
7.2.3 Event类的target和lcurrentTarget属性
7.2.4 事件的默认行为(Default behaviors)
7.2.5 事件的优先级与事件阻止
7.2.6 关于弱引用
7.2.7 自定义事件
7.3 处理DisplayObject类的事件
7.3.1 activate事件币ldeactivate事件
7.3.2 added和removed事件
7.3.3 enterFrame和render事件
7.3.4 显示实例与普通实例的区别
7.4 处理交互对象的键盘事件
7.4.1 KeyboardEvent类
7.4.2 使用组合键
7.4.3 使用updateAfterEvent()
7.4.4 用类保存键控代码
7.5 使用鼠标事件
7.5.1 MouseEvent类
7.5.2 处理滚轮事件
7.5.3 扩展鼠标事件
7.5.4 检测鼠标移动的速度
7.5.5 批量拖动显示对象
7.5.6 检测持续按下鼠标
7.5.7 鼠标控制的转盘
7.5.8检测鼠标是否离开了影片
第8章 Flash数学基础
8.1 坐标与注册点
8.1.1 舞台中的坐标
8.1.2 中心点和注册点
8.1.3 【信息】面板中的坐标
8.1.4 影片剪辑实例的坐标
8.1.5 全局坐标和本地坐标
8.1.6 动态修改注册点
8.2 角度
8.2.1 手工设置显示实例的角度
8.2.2 程序设置角度
8.2.3 角度和弧度
8.2.4 坐标中的角度
8.3 Math类
8.3.1 勾股定理
8.3.2 正余弦函数
8.3.3 正余弦曲线
8.3.4 随机方法
8.4 二维坐标系统与Point类
8.4.1 有向线段
8.4.2 定比分点
8.4.3 极坐标和笛卡儿坐标
8.5 直线与Line类
8.5.1 倾斜角与斜率
8.5.2 直线方程
8.5.3 两直线的交点
8.5.4 点到直线的距离
8.6 矩形与Rectangle类
8.6.1 获取矩形区域
8.6.2 DisplayOhject类的scoilRect属性
8.6.3 缩放与DisplayObject类的scaleg Grid属性
第9章 Flash物理基础
9.1 速度与运动
9.1.1 基于帧的运动
9.1.2 基于时间的运动
9.2 力与加速度
9.2.1 重力
9.2.2 弹性力
9.2.3 匀速圆周运动
9.2.4 两点间的运动
9.3 简单碰撞检测
9.3.1 形状与形状碰撞
9.3.2 点与形状碰撞
9.3.3 矩形与形状碰撞
9.4 二维向量
9.4.1 了解向量
9.4.2 向量的表示方法
9.4.3 了解Vector类
9.4.4 Vector类的构造函数
9.4.5 angle和length属性
9.4.6 display()方法
9.4.7 reset()和clone()方法
9.4.8 向量的四则运算
9.4.9 点积与标准化
9.4.10 向量投影
9.5 高级碰撞检测与反应
9.5.1 圆与线段的碰撞检测
9.5.2 圆与线段的碰撞反应
9.5.3 穿墙现象
9.5.4 完整的例子
第10章 面向对象编程基础
10.1 包与类路径
10.1.1 了解类的定义
10.1.2 编写第一个类
10.1.3 使用包
10.1.4 类路径
10.2 属性
10.2.1 成员变量与局部变量
10.2.2 实例属性与静态属性
10.2.3 控制属性的读写
10.3 方法
10.3.1 初识构造方法
10.3.2 用构造函数传递参数
10.3.3 在构造函数中使用this
10.3.4 默认构造函数
10.3.5 实例方法和静态方法
10.4 修饰符
10.5 了解继承
10.5.1 隐式继承
10.5 2 显式继承
10.5.3 原型继承
10.6 文档类
10.6.1 了解文档类
10.6.2 文档类与帧代码
10.6.3 文档类与界面的联系
10.7 链接类
10.7.1 自动定义链接类
10.7.2 自定义链接类
10.7.3 使用swf资源库
10.7.4 类加载与应用程序域
10.8 成员与继承
10.8.1 无参构造函数
10.8.2 有参构造函数
10.8.3 0verride修饰符
10.8.4 protected修饰符
10.8.5 静态成员
10.8.6 final修饰符
10.9 类之间的关系
10.9.1 基础知识
10.9.2 应用——帧频检测
10.10 了解接口
10.10.1 接口是标准
10.10.2 定义接口的语法
10.10.3 接口继承
10.10.4 接口的实现
第11 章设计模式
11.1 事件处理与观察者模式
11.1.1 观察者模式
11.1.2 事件处理机制
11.1.3在类中自定义事件
11.2 MVC模式
11.2.1 模型设计
11.2.2 视图实现
11.2.3 控制器实现
11.3 工厂模式
11.3.1 简单工厂模式
11.3.2工厂方法模式
11.4 单例模式
11.4.1 静态工厂方法
11.4.2 辅助类与单例模式
11.4.3 实例——工具提示
11.5 模板方法模式
11.5.1 抽象类与抽象方法
11.5.2 模板方法
11.5.3 子类实现
11.5.4 优化模式
11.6 实例——显示多视图
11.6.1 需求介绍与分析
11.6.2 编写DefaultView类
11.6.3 编写具体内容类
11.6.4 多态
11.6.5 设计文档类
11.7 界面应用程序
11.7.1 类图分析
11.7.2 模型设计
11.7.3 视图设计
11.7.4 创建视图
11.7.5 控制器设计
11.8 迭代子模式
11.8.1 了解迭代子模式
11.8.2 迭代
11.8.3 聚集
11.8.4 逆序迭代
11.8.5 扩展聚集
11.9 合成模式
11.9.1 显示类的架构
11.9.2 实现合成模式
11.9.3 遍历显示对象
11.10 装饰模式
11.10.1 了解装饰模式
11.10.2 使用装饰类
11.10.3 装饰显示对象
11.11 策略模式
11.11.1 了解策略模式
11.11.2 统计图
第12章 FIash与服务器端程序间的通信
12.1 ASP简介
12.1.1 ASP的特点
12.1.2 搭建ASP运行环境
12.1.3 体验ASP
12.1.4 ASP开发工具
12.2 Flash与ASP之间的通信
12.2.1 Flash从文本文件获取数据
12.2.2 Flash从ASP获取数据
12.2.3 Flash提交简单数据给ASP
12.2.4 Flash提交复杂数据给ASP
12.3 Flash与数据库之间的通信
12.3.1 Flash读取与修改数据库中的数据
12.3.2 Flash查询和添加数据库数据
12.4 Flash结合ASP开发实例
12.4.1 文件上传系统
12.4.2 天气预报系统
12.5 FMS简介
12.5.1 FMS的特点
12.5.2 搭建FMs服务器
12.5.3 配置FMS
12.5.4 管理FMS
12.6 Flash与FMS之间的通信
12.6.1 播放服务器端的视频
12.6.2 将视频录制到服务器上
12.6.3 文本聊天的实现
12.6.4 视频聊天的实现
12.7 php简介
12.7.1 安装php
12.7.2 安装MySQL
12.7.3 检查php与MySQL的连接
12.7.4 安装AMF
12.7.5 读写数据库
第13 章高级主题
13.1 正则表达式
13.1.1 如何判断中文字符
13.1.2 则表达式的作用
13.1.3 创建正则表达式
13.1.4 使用正则表达式
13.1.5 查找和替换英文单词
13.1.6 删除头和尾的空白字符
13.1.7 了解RegExp类和Strin9类
13.1.8 转义
13.1.9 使用编码
13.1.10 了解元字符
13.1.11 数量词
13.1.12 匹配的范围
13.1.13 组合与或运算
13.1.14 查找与替换文本
13.1.15 代码加亮
13.2 E4X
13.2.1 节点
13.2.2 节点的属性
13.2.3 使用CDATA
13.2.4 使用变量创建XML
13.2.5 使用外部XML文件
13.2.6 加载XML文件
13.2.7 选择XML中的数据
《形式感+》内容简介:网页设计师从早年的综合性工作中分化出来,形成了相对独立的专业岗位,网页设计也不再是单纯的软件应用,它衍
《手把手教你学:剪发技术超精图解(上)》内容简介:想要成为一名优秀的发型师,首先要掌握扎实的剪发基础技能。只有摸清骨骼要点
本书是国内第一部系统阐述如何开发基于,lava的Web动态图表的专著。不仅详述了如何利用Java对图形的处理能力,通过JavaApplet、J
《不被定义的女孩》内容简介:希望所有女孩都能学会爱自己,在标签化的审美标准下不被定义,找寻属于自己的生活态度与生活方式。本
《抖音运营变现手册》内容简介:《抖音运营变现手册》以运营团队的视角,介绍了抖音短视频账号运营、快速涨粉的实战技巧。首先,把
玩玩打打学五笔 内容简介 《玩玩打打学五笔》的出现彻底改变了这一切,这是一套原创的、快速掌握五笔字型的新方法,无须背口诀,无须刻苦,更不需要有多大的毅力,只要你...
为使自己倾心倾力建造的东西真正成为建筑,是雇用建筑师?还是成为建筑师?抑或是学会像建筑师那样思考?三种选择虽道理各异,却
Humansperceivethethree-dimensionalstructureoftheworldwithapparentease.However,de...
Learnhowtocreateresponsive,data-drivenwebsiteswithPHP,MySQL,andJavaScript-whethe...
《重建历史唯物主义历史总体观》内容简介:本书围绕客观社会现实如何实际地构成历史的总体和结构的总体的观点来重新阐释历史唯物主
《影响数学世界的猜想与问题·从开普勒到阿诺德:三体问题的历史》共分五编:第一编为古典理论卷,第二编为重刚体绕不动点运动问题
《上海城市公共开放空间与休闲研究》内容简介:城市公共开放空间是市民日常生活、工作、学习之余接触最多的场所,也是决定城市宜居
《书店寻踪:国营古旧书店之旅》内容简介:《书店寻踪:国营古旧书店之旅》是“芷兰斋书店寻访三部曲”之一,寻访对象是国营古旧书
冯登国(FENGDengguo,1965.5~),现为中国科学院软件所研究员、博士生导师,信息安全国家重点实验室主任,国家计算机网络入侵防范中
《我为什么自己的书一本没写》内容简介:一本挑战悖论的不可能之书。乌力波文学经典。法国黑色幽默文学大奖获奖作品。幽默解剖写作
《写给Web开发人员看的HTML5教程》通过结合大量实际案例和源代码对HTML5的重要特性进行了详细讲解,内容全面丰富,易于理解。全书
《AI新基建》内容简介:与传统基建不同,新基建更注重数字化与智能化。而近几年,AI作为新一轮科技革命和产业转型的引领性技术,已
《众妙之门——网页排版设计制胜秘诀》是SmashingMagazine网站的精选文章合辑,旨在帮助读者提升网页版式设计水平。《众妙之门—
The#1TelecomGuideforBusinesspeopleandNontechnicalProfessionals—FullyUpdatedforCl...
《中国就业战略报告:金融危机以来的中国就业季度分析(2015)》内容简介:就业市场短期分析及预测源于我国劳动力市场短期波动及对