Flash.ActionScript.3.0动画教程

### Flash.ActionScript 3.0动画教程####一、ActionScript 3.0动画基础知识**1.1什么是动画**动画是一种通过连续播放一系列图像来创造运动错觉的技术。在Flash中,动画可以通过两种方式实现:传统补间动画和程序动画。传统补间动画依赖于时间轴上的关键帧之间的插值;而程序动画则通过ActionScript编写代码来控制元素的运动。 **1.2帧和运动** - **1.2.1帧就是记录**:帧是构成动画的基本单位。每个帧都是一幅静止的画面,当这些画面快速连续播放时,就会产生视觉上的连续运动效果。 - **1.2.2程序帧**:在ActionScript 3.0中,可以通过编程控制帧的播放顺序和频率,实现更为复杂的动画效果。 **1.3动态动画VS静态动画** - **动态动画**:通过编程实现的动画,可以实现更复杂的交互和逻辑。 - **静态动画**:基于时间轴的传统补间动画,不涉及编程。 ###二、ActionScript 3.0动画入门**2.1动画基础** ActionScript 3.0提供了一系列强大的工具来创建和管理动画。它支持多种类型的动画,包括但不限于运动动画、形状动画以及更高级的粒子系统等。 **2.2关于ActionScript版本** ActionScript是一种用于创建交互式内容、游戏和动画的脚本语言。ActionScript 3.0相比之前的版本进行了大幅改进,提供了更好的性能和更丰富的功能。 **2.3类和面向对象编程** - **2.3.1基类**:在ActionScript 3.0中,所有对象都是Object类的实例或子类。 - **2.3.2包(Package)**:用于组织类和接口,类似于文件夹结构。 - **2.3.3导入(Import)**:使用import关键字引入其他包中的类。 - **2.3.4构造函数(Constructor)**:用于初始化新创建的对象。 - **2.3.5继承(Inheritance)**:允许创建一个类(子类)继承另一个类(父类)的属性和方法。 - **2.3.6 MovieClip/Sprite子类**:这些类是用于创建动画的关键类。 - **2.3.7创建文档类(Document class)**:文档类是用于封装整个SWF文件行为的特殊类。 **2.4设置ActionScript 3.0应用程序** - **2.4.1使用Flash CS3 IDE**:集成开发环境提供了完整的编辑、调试和测试功能。 - **2.4.2使用Flex Builder**:专为开发Flex和Flash内容而设计的IDE。 - **2.4.3使用免费的命令行编译器**:对于不需要完整IDE的简单项目来说是一个好选择。 - **2.4.4关于跟踪**:跟踪是在开发过程中调试代码的有效手段。 - **2.4.5缩放影片**:控制影片在不同分辨率下的显示大小。 **2.5程序动画** - **2.5.1动画的执行过程**:动画通常通过不断更新对象的位置来实现。 - **2.5.2帧循环**:通过循环更新每一帧来创建动画效果。 - **2.5.3影片事件**:用于响应影片级别的事件,如加载完成、帧变化等。 - **2.5.4事件和事件处理**:事件驱动编程模型是ActionScript 3.0的核心。 - **2.5.5事件侦听器与处理函数**:事件侦听器用于注册对特定事件的响应。 - **2.5.6动画事件**:特定类型的事件,用于动画控制。 **2.6显示列表**显示列表是一个保存所有可见对象的数据结构,它决定了对象的渲染顺序。 **2.7用户交互** - **2.7.1鼠标事件**:包括点击、移动等。 - **2.7.2鼠标位置**:通过访问鼠标当前位置来响应用户操作。 - **2.7.3键盘事件**:处理键盘输入,用于实现更复杂的交互。 - **2.7.4键码**:用于识别特定按键被按下。 ###三、三角学应用**3.1什么是三角学**三角学是数学的一个分支,主要研究三角形的性质及其在解决实际问题中的应用。 **3.2角** - **3.2.1弧度制(radian)与角度制(degrees)**:在Flash中,通常使用弧度制。 - **3.2.2 Flash坐标系**:Flash使用左手坐标系,Y轴向下增加。 - **3.2.3三角形的边**:三角形的边长可用于计算角度和位置。 **3.3三角函数** - **3.3.1正弦(Sine)**:表示直角三角形中对边与斜边的比值。 - **3.3.2余弦(Cosine)**:表示直角三角形中邻边与斜边的比值。 - **3.3.3正切(Tangent)**:表示直角三角形中对边与邻边的比值。 - **3.3.4反正弦(Arcsine)和反余弦(Arccosine)**:用于计算角度。 - **3.3.5反正切(Arctangent)**:用于计算角度。 **3.4旋转**旋转是指物体绕着一个轴或点转动。在Flash中,可以通过调整对象的rotation属性来实现。 **3.5波形** - **3.5.1平滑的上下运动**:使用正弦波模拟平滑的上下运动。 - **3.5.2线性垂直运动**:通过线性函数模拟。 - **3.5.3心跳运动**:使用复合函数模拟心跳效果。 - **3.5.4双角波形**:结合两个正弦波实现复杂波动。 - **3.5.5绘制波形**:利用绘图API实现动态波形绘制。 **3.6圆和椭圆** - **3.6.1圆形运动**:通过正弦和余弦函数模拟圆形轨迹。 - **3.6.2椭圆运动**:通过调整比例因子来模拟椭圆轨迹。 **3.7勾股定理**勾股定理用于计算直角三角形中未知边长。 **3.8两点间距离**计算两点之间的距离对于动画编程非常重要,尤其是在处理物体间的相互作用时。 ###四、渲染技术**4.1 Flash中的颜色** - **4.1.1使用十六进制表示颜色值**:常见的表示方法。 - **4.1.2透明度和32位色**:支持透明度的RGB颜色模型。 - **4.1.3新的数值类型:int和uint**:用于表示整数和无符号整数。 - **4.1.4色彩合成**:将不同的颜色混合在一起。 - **4.1.5获取颜色值**:通过对象属性获取颜色值。 **4.2绘图API** - **4.2.1绘图对象**:用于绘制图形的对象。 - **4.2.2使用clear删除绘制**:清除现有的绘图。 - **4.2.3使用lineStyle设定线条样式**:设置线条的颜色、宽度等属性。 - **4.2.4使用lineTo和moveTo绘制直线**:基本的绘制操作。 - **4.2.5过控制点的曲线**:绘制平滑曲线。 - **4.2.6使用beginFill和endFill创建图形**:填充颜色。 - **4.2.7使用beginGradientFill创建渐变填充**:实现渐变效果。 **4.3颜色变换**颜色变换允许改变现有颜色的属性,例如亮度、饱和度等。 **4.4滤镜(Filter)** - **4.4.1创建滤镜**:使用滤镜对象增强视觉效果。 - **4.4.2动态滤镜**:在运行时动态改变滤镜属性。 **4.5位图**位图是由像素组成的图像,在Flash中可以通过位图对象进行操作。 **4.6读取和嵌入资源** - **4.6.1读取资源**:加载外部资源,如图片和音频文件。 - **4.6.2嵌入资源**:将资源嵌入到SWF文件中。 ###五、基本运动**5.1速度与加速度** - **5.1.1向量与速度向量**:速度向量表示物体的速度方向和大小。 - **5.1.2单轴速度**:仅在一个轴上的速度。 - **5.1.3两个轴上的速度**:同时考虑X和Y轴上的速度分量。 - **5.1.4速度向量扩展**:进一步讨论速度向量的概念。 - **5.1.5速度扩展**:介绍如何计算和使用速度。 - **5.2加速度**:描述物体加速或减速的变化率。 **5.2.1单轴加速度**:仅在单一轴上的加速度。 - **5.2.2双轴加速度**:同时在两个轴上加速度的变化。 - **5.2.3重力加速度**:模拟重力效应。 - **5.2.4角加速度**:物体绕轴旋转时的加速度。 - **5.2.5制作飞船**:利用速度和加速度实现太空飞船的移动。 ###六、边界与摩擦力**6.1环境边界** - **6.1.1设置边界**:限制物体的活动范围。 - **6.1.2移除物体**:当物体超出边界时将其移除。 - **6.1.3重置对象**:将物体重新放置在指定位置。 - **6.1.4屏幕环绕**:使物体从一侧离开后出现在另一侧。 - **6.1.5回弹**:物体碰撞边界后的反弹效应。 **6.2摩擦力** - **6.2.1摩擦力,正确方法**:物理上精确地模拟摩擦力。 - **6.2.2摩擦力,简便的方法**:使用简化的方法近似模拟。 - **6.2.3摩擦力的应用**:在不同场景中应用摩擦力的效果。 ###七、用户交互:移动物体**7.1按下和放开精灵** **7.2拖拽影片** - **7.2.1使用mouseMove执行拖拽**:通过监听鼠标移动事件实现。 - **7.2.2使用startDrag/stopDrag执行拖拽**:内置的拖拽功能。 - **7.2.3结合运动代码的拖拽**:同时利用拖拽和运动代码。 **7.3投掷** ###八、缓动和弹性**8.1成比例运动** **8.2缓动** - **8.2.1简单的缓动**:实现物体从一个位置平滑过渡到另一个位置。 - **8.2.2缓动何时停止**:确定缓动结束的条件。 - **8.2.3移动的目标**:处理目标位置随时间变化的情况。 - **8.2.4缓动不仅限于运动**:缓动也可以应用于其他属性,如透明度。 - **8.2.5高级缓动**:实现更复杂的缓动效果。以上是Flash.ActionScript 3.0动画教程的基础知识和进阶技巧,希望能够帮助您更好地理解和掌握Flash动画编程。
pdf 文件大小:4.41MB