Flash MX编程与创意实现

Flash MX编程与创意实现
作 者: Robert Penner 杨洪涛
出版社: 清华大学出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: Flash
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  Robert是一位MacromediaFlash自由创作人、顾问、作家和发言人,他的工作重点是Flash中的数学和面向对象设计。作为Ultrashock.com的主持人和设计师,Robert以开创性的技术革新和朴实,简约的风格闻名于国际Flash界。他的技术革新包括Flash后退按钮的集成和数学缓动公式等。除了因在Ultrashock主持多个论坛和在ChattyfigFlashcoders邮件列表上关于OOP的讨论而享有盛誉外,Robert在Axismedia.com的出色工作还为他赢得了两次FlashFilmFestival决赛的提名。读者可以在http://www.robertpenner.com的浏览他的作品。

内容简介

本书出自著名的Flash奇才RobertPenner之手,书中展现了隐藏在惊人创造力背后的独特的程序设计和视觉设计理念。本书详尽探讨了如何以ActionScript创建动态的视觉效果,内容覆盖面向对象和基于事件的程序设计、数学、物理、色彩、绘图得等专题,精选的实例讲解更是体现出作者丰富的想象力与创造过程,书中还披露了大量Flash未公开的功能。本书凝聚着作者的宝贵经验和真知灼见,是具有指导意义的关于Flash编程与创意的典型之作,适合于专业编程人员和广大Flash爱好者阅读参考。 &n 

图书目录

第1部分 预备知识

第1章 Flash信徒:过程和训练

1. 1 我的个人经历

1. 1. 1 大学时代

1. 1. 2 技术学校

1. 1. 3 发现Flash

1. 2 重视训练

1. 2. 1 什么是训练

1. 2. 2 习惯

1. 2. 3 我的训练

1. 3 自学

1. 3. 1 个性化的练习

1. 3. 2 例子:学习键盘快捷方式

1. 4 社团

1. 4. 1 通过教来学

1. 4. 2 开放源代码

1. 5 迭代过程

1. 5. 1 循环成长

1. 5. 2 安排优先顺序

1. 5. 3 考虑未来发展

1. 6 本书的内容安排

第2章 面向对象编程技术

2. 1 程序设计的本质

2. 1. 1 记忆和变量

2. 1. 2 能力和函数

2. 1. 3 对象:记忆和能力

2. 1. 4 属性和方法

2. 2 类

2. 2. 1 Flash内置的类和对象

2. 2. 2 类的构造函数

2. 2. 3 可视类的实例化

2. 2. 4 原型属性

2. 2. 5 为类添加方法

2. 2. 6 重写内置的方法

2. 2. 7 扩展静态对象

2. 3 经典的OOP概念

2. 3. 1 抽象

2. 3. 2 封装

2. 3. 3 多态

2. 4 开发自定义的类

2. 5 分析

2. 5. 1 用例

2. 5. 2 用例说明

2. 6 设计

2. 6. 1 选择属性

2. 6. 2 选择方法

2. 6. 3 对象的关系

2. 6. 4 类图

2. 7 ActionScript中的类开发

2. 7. 1 PhotoAlbum构造函数

2. 7. 2 showPhotoAt()方法

2. 7. 3 next()方法

2. 7. 4 prev()方法

2. 7. 5 PhotoAlbum的使用

2. 8 类继承

2. 8. 1 方法继承和属性继承

2. 8. 2 通过supe哟属性继承

2. 8. 3 方法继承

2. 8. 4 super对象

2. 8. 5 通过new的方法继承

2. 8. 6 通过__proto_继承

2. 8. 7 constructor方案

2. 8. 8 superCon0方案

2. 9 总结

第Ⅱ部分 基本概念

第3章 Flash与数学1:三角学和坐标系

3. 1 三角学

3. 1. 1 直角三角形

3. 1. 2 勾股定理

3. 1. 3 两点之间的距离

3. 1. 4 直角三角形中的角

3. 1. 5 正弦

3. 1. 6 余弦

3. 1. 7 正切

3. 1. 8 反正切

3. 1. 9 反余弦

3. 1. 10 反正弦

3. 2 坐标系

3. 2. 1 笛卡儿坐标系

3. 2. 2 Flash坐标系

3. 2. 3 极坐标系

3. 3 总结

第4章 Flash与数学2:二维空间中的向量

4. 1 向量

4. 2 Vector类

4. 2. 1 Vector构造函数

4. 2. 2 Vector. toString()

4. 2. 3 Vector. reset()

4. 2. 4 Vector. getClone()

4. 2. 5 Vector. equals()

4. 3 向量加法

4. 3. 1 Vector. plus0

4. 3. 2 Vector. plusNew()

4. 4 向量减法

4. 4. 1 Vector. minus()

4. 4. 2 Vector. minusNew()

4. 5 向量求逆

4. 5. 1 Vector. negate0

4. 5. 2 Vector. negateNew()

4. 6 向量缩放

4. 6. 1 Vector. scale()

4. 6. 2 Vector. scaleNew()

4. 7 向量长度

4. 7. 1 Vector. getLength()

4. 7. 2 Vector. setLength()

4. 8 向量角度

4. 8. 1 Vector. getAngle()

4. 8. 2 VectonsetAngle()

4. 9 向量旋转

4. 9. 1 Vector. rotate()

4. 9. 2 Vector. rotateNew()

4. 10 点积

4. 10. 1 点积的意义

4. 10. 2 Vectordot()

4. 11 法向量

4. 11. 1 计算法向量

4. 11. 2 Vector. getNormal()

4. 11. 3 垂直验证

4. 11. 4 Vector. isPerpTo()

4. 12 向量的夹角

4. 12. 1 计算公式

4. 12. 2 Vector. angleBetween()

4. 13 将点作为向量

4. 14 总结

第5章 Flash与数学3:三维空间中的向量

5. 1 x轴. y轴和z轴

5. 2 Vector3d类

5. 2. 1 Vector3d构造函数

5. 2. 2 Vector3d. toString()

5. 2. 3 Vector3d. reset()

5. 2. 4 Vector3d. getClone()

5. 2. 5 Vector3d. equals()

5. 3 三维向量的基本操作

5. 3. 1 Vector3d. plus()

5. 3. 2 Vector3d. plusNew()

5. 3. 3 Vector3d. minus()

5. 3. 4 Vector3d. minusNew()

5. 3. 5 Vector3d. negate()

5. 3. 6 Vector3d. negateNew()

5. 3. 7 Vector3d. scale()

5. 3. 8 Vector3d. scaleNew()

5. 3. 9 Vector3d. getLength()

5. 3. 10 Vector3d. setLength()

5. 4 向量的积

5. 4. 1 点积

5. 4. 2 Vector3d. dot()

5. 4. 3 叉积

5. 4. 4 Vector3d. cross()

5. 5 向量的夹角

5. 5. 1 计算公式

5. 5. 2 Vector3d. angleBetween()

5. 6 向量的投影

5. 6. 1 Vector3d. getPerspective()

5. 6. 2 Vector3d. persProject()

5. 6. 3 Vector3d. persProjectNew()

5. 7 三维旋转

5. 7. 1 绕x轴旋转

5. 7. 2 Vector3d. rotateX()

5. 7. 3 Vector3d. rotateXTrig()

5. 7. 4 绕y轴旋转

5. 7. 5 Vector3d. rotateY()

5. 7. 6 Vector3d. rotateYTrig()

5. 7. 7 绕z轴旋转

5. 7. 8 Vector3d. rotateZ()

5. 7. 9 Vector3d. rotateZTrig()

5. 7. 10 Vector3d. rotateXY()

5. 7. 11 Vector3d. rotateXYTrig()

5. 7. 12 Vector3d. rotateXYZ()

5. 7. 13 Vector3d. rotateXYZTrig()

5. 8 绘制三维粒子

5. 8. 1 Particle3d类

5. 8. 2 Particle3d. attachGraphic()

5. 8. 3 Particle3d. render()

5. 9 实例:粒子墙

5. 9. 1 结构

5. 9. 2 getWallPoints()函数

5. 9. 3 墙的初始化

5. 9. 4 arrayRotateXY()函数

5. 9. 5 onEnterFrame动画

5. 10 总结

第6章 基于事件的程序设计

6. 1 Flash5的事件模型

6. 2 FlashMX的事件模型

6. 2. 1 FlashMX中的按钮和影片片段事件

6. 2. 2 实例:MX Glide

6. 3 监听器

6. 3. 1 基于时间的程序设计

6. 3. 2 基于事件的程序设计

6. 3. 3 监听FlashMX对象

6. 3. 4 实例:监听TcxtField

6. 3. 5 一对多广播

6. 4 内置事件源

6. 4. 1 事件源的内部结构

6. 4. 2 事件源的核心功能

6. 4. 3 ASBroadcaster

6. 4. 4 事件源的初始化

6. 4. 5事件广播

6. 5 NewsFeed事件源

6. 5. 1 NewsFeed构造函数

6. 5. 2 NewsFeed. toString0

6. 5. 3 用ASBroadcaster初始化

6. 5. 4 修订构造函数

6. 5. 5 NewsFeed. sendNews()方法

6. 6 建立系统

6. 6. 1 创建事件源对象

6. 6. 2 创建监听器对象

6. 6. 3 定义事件处理器

6. 6. 4 注册监听器

6. 6. 5 事件广播

6. 7 总结

第Ⅲ部分 动态视觉效果

第7章 运动. 变形和缓动

7. 1 运动的概念

7. 1. 1 关于位置

7. 1. 2 位置是时间的函数

7. 1. 3 位置作图

7. 2 Flash中的静态变形

7. 3 ActionScript中的动态变形

7. 3. 1 标准指数滑动

7. 3. 2 变形的关键因素

7. 3. 3 变形函数

7. 4 线性变形

7. 4. 1 图形

7. 4. 2 ActionScript函数

7. 4. 3 用函数实现变形

7. 4. 4 线性运动的美学

7. 5 缓动

7. 5. 1 缓动运动的美学

7. 5. 2 缓入

7. 5. 3 缓出

7. 5. 4 缓入-缓出

7. 6 各种缓动变形

7. 6. 1 二次缓动

7. 6. 2 三次缓动

7. 6. 3 四次缓动

7. 6. 4 五次缓动

7. 6. 5 正弦缓动

7. 6. 6 指数缓动

7. 6. 7 圆形缓动

7. 6. 8 引入Tween类

7. 7 Motion类

7. 7. 1 Motion构造函数

7. 7. 2 公共方法

7. 7. 3 读写方法

7. 7. 4 私有方法

7. 7. 5 读写属性

7. 7. 6 完成

7. 8 Tween类

7. 8. 1 Tween构造函数

7. 8. 2 公共方法

7. 8. 3 读写方法

7. 8. 4 读写属性

7. 8. 5 完成

7. 9 总结

第8章 Ftash与物理学

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 Flash中力驱动的运动

8. 3 摩擦力

8. 3. 1 动摩擦

8. 3. 2 静摩擦

8. 3. 3 流体摩擦

8. 4 空间中的引力

8. 5 表面附近的引力

8. 6 弹性力

8. 6. 1 平衡状态

8. 6. 2 胡克定律

8. 6. 3 弹性系数

8. 6. 4 弹性力的方向

8. 6. 5 ActionSeript实现

8. 7 波的运动

8. 7. 1 振幅

8. 7. 2 频率

8. 7. 3 周期

8. 7. 4 时移

8. 7. 5 偏移量

8. 7. 6 波形方程

8. 8 WaveMotion类

8. 8. 1 WaveMotion构造函数

8. 8. 2 WaveMotion. getPosition0

8. 8. 3 WaveMotion的读写方法

8. 8. 4 WaveMotion的读写属性

8. 8. 5 使用WaveMotion

8. 9 总结

第9章 ActionScript的颜色控制

9. 1 纯色着色

9. 1. 1 Color. setRGB()

9. 1. 2 MovieClip. setRGB()

9. 1. 3 Color. getRGB()

9. 1. 4 MovieClip.getRGB()

9. 1. 5 Color. setRGBSb()

9. 1. 6 MovieClip.setRGBSt()

9. 1. 7 Color. getRGBSb()

9. 1. 8 MovieClip. getRGBSb()

9. 1. 9 Color. setRGB2()

9. 1. 10 MovieClip.setRGB2()

9. 1. 11 Color. getRGB2()

9. 1. 12 MovieClip. getRGB2()

9. 2 色彩变换

9. 2. 1 Color. setTransform()

9. 2. 2 MovieClip. setColorTransform()

9. 2. 3 Color. getTransform()

9. 2. 4 MovieClip. getColorTransform()

9. 3 恢复初始颜色

9. 3. 1 Color. reset()

9. 3. 2 MovieClip. resetColor()

9. 4 控制亮度

9. 4. 1 Color. setBrighmess()

9. 4. 2 MovieClip.setBrighmess()

9. 4. 3 Color. getBrightness()

9. 4. 4 MovieClip. getBrighmess()

9. 5 亮度偏移量

9. 5. 1 Color. setBrightOffset()

9. 5. 2 MovieClip. setBrightOffset()

9. 5. 3 Color. getBrightOffset()

9. 5. 4 MovieClip. getBrightOffset()

9. 6 动态着色

9. 6. 1 Color. setTint()

9. 6. 2 MovieClip. setTint()

9. 6. 3 Color. getTint()

9. 6. 4 MovieClip. getTint()

9. 7 着色偏移量

9. 7. 1 Color. setTintOffset()

9. 7. 2 MovieClip. setTintOffset()

9. 7. 3 Color. getTintOffset()

9. 7. 4 MovieClip. getTintOffset()

9. 8 色彩反转

9. 8. 1 Color. invert0

9. 8. 2 MovieClip. invertColor()

9. 8. 3 Color. setNegative()

9. 8. 4 MovieClip.setNegativeColor()

9. 8. 5 Color. getNegative0

9. 8. 6 MovieClip.getNegativeColor()

9. 9 独立纯色

9. 9. 1 setRed()

9. 9. 2 setGreen()

9. 9. 3 setBlue()

9. 9. 4 getRed()

9. 9. 5 getGreen()

9. 9. 6 getBlue()

9. 10 为MovieCl中添加颜色属性

9. 10. 1 MovieClip._red. _green和-blue

9. 10. 2 MovieClip. _rgb

9. 10. 3 MovieClip. _brightness

9. 10. 4 MovieClip. _brightOffset

9. 11 总结

第10章 ActionScript绘图

10. 1 形状绘图API

10. 1. 1 MovieClip. moveTo()

10. 1. 2 MovieClip. lineTo()

10. 1. 3 MovieClip. lineStyle()

10. 1. 4 MovieClip. curveTo()

10. 1. 5 MovieClip. beginFill()

10. 1. 6 MovieClip. beginGradientFill(),

10. 1. 7 MovieClip. endFill()

10. 1. 8 MovieClip. clear()

10. 2 动画和动态绘图

10. 2. 1 影片片段动画

10. 2. 2 形状动画

10. 3 常用形状的绘制

10. 3. 1 直线

10. 3. 2 三角形

10. 3. 3 四边形

10. 3. 4 矩形

10. 3. 5 正方形

10. 3. 6 点

10. 3. 7 多边形

10. 3. 8 正多边形

10. 3. 9 椭圆

10. 3. 10 圆

10. 4 跟踪画笔的位置

10. 4. 1 MovieClip._xpen和_ypen属性

10. 4. 2 MovieClip. _xpenStart和_ypenStart属性

10. 4. 3 属性的初始化

10. 5 三次贝塞尔曲线

10. 5. 1 次和三次贝塞尔曲线

10. 5. 2 三次贝塞尔曲线的绘制方法

10. 6 总结

第IV部分 综合实例

第11章 作品1:北极光

11. 1 概念的演化

11. 2 PhysicsParticle类

11. 2. 1 构造函数

11. 2. 2 公共方法

11. 2. 3 读写方法

11. 2. 4 私有方法

11. 2. 5 读写属性

11. 2. 6 完成

11. 3 Force类

11. 3. 1 构造函数

11. 3. 2 读写方法

11. 3. 3 其他方法

11. 3. 4 读写属性

11. 3. 5 完成

11. 4 ElasticForce类

11. 4. 1 构造函数

11. 4. 2 方法

11. 4. 3 读写属性

11. 4. 4 完成

11. 4. 5 简单的例子

11. 5 北极光FLA代码

11. 5. 1 主时间轴代码

11. 5. 2 aurora组件

11. 5. 3 particle影片片段

11. 6 总结

第12章 作品2:暴风雪

12. 1 Snowflake类

12. 1. 1 辅助函数

12. 1. 2 Snowflake构造函数

12. 1. 3 读写方法

12. 1. 4 私有方法

12. 2 Snowstorm类

12. 2. 1 Snowstorm构造函数

12. 2. 2 公共方法

12. 3 暴风雪FLA

12. 3. 1 主时间轴代码

12. 3. 2 snowstorm组件

12. 3. 3 组件方法

12. 4 总结

第13章 作品3:分形树

13. 1 FractalTree组件

13. 1. 1 组件参数

13. 1. 2 方法

13. 2 FractalBranch类

13. 2. 1 FractalBranch构造函数

13. 2. 2 方法

13. 3 MotionCam类

13. 3. 1 MotionCam构造函数

13. 3. 2 公共方法

13. 3. 3 读写方法

13. 3. 4 私有方法

13. 4 总结

第14章 作品4:龙卷风

14. 1 构思过程

14. 2 分解目标

14. 3 Particle

14. 4 Path

14. 4. 1 Path. onEnterFrame()

14. 4. 2 Path. init()

14. 5 Oval

14. 5. 1 Oval. init()

14. 5. 2 Oval. sidewind()

14. 6 Cyclone组件

14. 6. 1 Cyclone. init()

14. 6. 2 Cyclone. makeParticle()

14. 6. 3 cyclone. grow()

14. 6. 4 Cyclonesidewind()

14. 6. 5 Cyclone. startSidewindO和stopSidewind()

14. 6. 6 组件参数

14. 7 鼠标交互一-Dragger

14. 7. 1 帧动作

14. 7. 2 Dragger. appear()

14. 7. 3 Dragger. onEnterFrame()

14. 7. 4 aragBtn的按钮动作

14. 8 总结