学习目标:
1.了解计算机动画运动的控制方法
2.掌握Action Script动画语言的基础知识
视频学习:
电子教材:
运动控制方法与动画语言
计算机动画运动控制方法
运动控制方法是控制和描述动画形体随时间而运动和变化的运动控制模型。主要方法有运动学方法、物理推导方法、随机方法、自动运动控制方法、刺激—响应方法,行为规则方法等。
1.运动学方法
运动方法学是通过几何变换(旋转、比例、切变、位移)来描述运动的。在运动生成过程中并不使用物体的物理性质。运动学控制包括正向运动学和逆向运动学。正向运动学通过变换矩阵对造型树从根到叶子进行遍历,确定点的位置。逆向运动学则是根据空间某些特定点所要求的终结效果,确定所用几何变换的参数。可见,运动学方法是一种传统的动画技术。
2.物理推导方法
物理推导方法是运用物理定律推导物体运动。运动是根据物体的质量与惯量作用于物体上内部和外部的力、力矩以及运动环境中其他物理性质来计算的。采用此方法,动画设计者可不必详细规定其运动的细节。采用动力学作为控制技术,并建立一个系统,可实现以最少的用户交互作用产生高度复杂的真实运动,逼真地模拟自然现象,自动反应物体对内部和外部环境的约束。
3.随机方法
随机方法是在造型和运动过程中使用随机扰动的一种方法。它与分维造型、粒子系统等方法相结合,确定不规则随机体(如云彩、火焰等)的运动和变化。
4.自动运动控制方法
自动运动控制方法是基于人造角色,使用人工智能、机器人技术,在任务级上设计并用物理定律计算运动,它可用于跟踪实际动作以及产生行为动画等方面。
5.刺激—响应方法
刺激—响应方法是在运动生成期间,考虑环境的相互影响,建立一个神经控制网络,从对象的传感器接受输入,由神经网络输出激发对象运动。采用此方法,可生成反映人面部表情愉快与忧愁等运动情况。
6.行为规则方法
行为规则方法是从传感器接受输入,由运动的对象感知,使用一组行为规则,确定每步运动要执行的动作。如由人控制传感器输入到计算机中,从而实时产生相应的各种动作。
动画语言:
动画语言是用于规定和控制动画的程序设计语言。在动画语言中,运动的概念和过程由抽象数据类型和过程表示。动画形体造型、形体部件的时态关系和运动变量的显示由程序设计语言描述。动画语言适用于算法控制或模拟物理过程的运动,其缺点主要是动画设计者在完成程序设计并绘出整个动画之前,不能看到其设计结果。基于动画描述模型开发的动画语言有线性表语言、通用语言、图形语言三类。线性表语言是用符号表达的线性表来描述动画功能;通用语言是指在通用程序设计语言中嵌入动画功能的常用方法,语言中变量的值可用作执行动画例程的参数,图形语言支持可视设计方式,以可视化方式描述并编辑修改动画功能。
1.ActionScript语言
ActionScript语句是Flash中提供的一种动作脚本语言,它能够面向对象进行编程,具备强大的交互功能,让动画与用户之间的交互和用户对动画元件的控制加强。通过ActionScript中相应语句的调用,让Flash实现许多特殊的功能,因而ActionScript是Flash交互功能的核心和不可缺少的重要组成部分。ActionScript语句一般由语句、变量和函数组成,主要涉及变量、函数表达式和运算符等。
2.变量
(1)计算机程序的用途
计算机程序的内涵包括两个方面:一、程序是计算机执行的一系列指令或步骤,二、程序的每一步都涉及到某一段信息或数据的处理。通常认为,计算机程序是用户提供给计算机执行的指令列表,每个单独指令称为语句。
(2)变量
变量是用来存放数据的,在程序运行过程中是可以变化的。变量可以赋值一个数值、字符串、布尔值、对象等。
(3)常量
常量是程序运行过程中值不能改变的量。声明常量的语法与声明变量的语法几乎相同。唯一的不同之处在于,需要使用关键字“Const”,而不是关键字“Var”。常量主要包括两种:数值型,如1,3.14,54%;字符串型,如“a”,“D”,“ student”。
(4)数据类型
在ActionScript中,变量的数据类型主要有以下几种:
String:文本值,如一个名称或书中某一章的文字
Numeric:对于Numeric型数据,ActionScript3.0包含三种特定的数据类型:
Number:任何数值,包括有小数部分或没有小数部分的值
Int:一个整数(不带小数部分的整数)
Uint:一个“无符号”整数,即不能为负数的整数
Boolean:一个True或False值,如开关是否开启或两个值是否相等
大部分内置数据类型以及程序员定义的数据类型都是复杂数据类型。常见的复杂数据类型主要有如下几种:
Movieclip:影片剪辑元件
Textfield:动态文本字段或输入文本字段
Simplebutton:按钮元件
Date:有关时间中某个片刻的信息(日期和时间)
4.使用ActionScript构建应用程序[1]
(1)用于组织代码的选项
从简单的图形动画到复杂的客户端-服务器事务处理系统都可以通过ActionScript 3.0来实现。根据要构建的应用程序类型,使用其中一种或多种不同方式在项目中加入 ActionScript。
①将代码存储添加到Flash时间轴的帧中。在Flash时间轴的任何帧中都可以添加ActionScript代码。该代码在影片播放该帧时执行。通过向帧中添加ActionScript代码,可以方便地为Flash Professional构建的应用程序添加行为。用户可以将代码添加到主时间轴中的任何帧或任何Movieclip元件时间轴中的任何帧。
②在FlexMXML文件中嵌入代码。在Flex开发环境(如Flash Builder)中,可以在 Flex MXML文件的<Fx:Script>标签中添加ActionScript代码。
③将代码存储在ActionScript文件中。如果项目中包括重要的ActionScript代码,需要在单独的ActionScript源文件(扩展名为.As的文本文件)中组织这些代码。
(2)选择合适的编写工具
①Flash Builder
Adobe Flash Builder是创建使用Flex框架的项目或主要包含 ActionScript代码项目的首要工具。Flash Builder包括功能齐全的ActionScript编辑器、可视布局和MXML编辑功能。它可用于创建Flex项目或纯ActionScript项目。
②Flash
Flash除了具有图形和动画制作功能外,还包括用来处理ActionScript 代码的工具。代码可以附加到Fla文件中的元素中,也可以附加到外部纯ActionScript文件的元素中。
③第三方ActionScript编辑器
由于ActionScript(.As)文件存储为简单的文本文件,任何能够编辑纯文本文件的程序都可以用来编写ActionScript文件。
(3)ActionScript开发过程
①设计应用程序
先以某种方式描述应用程序,然后构建该应用程序。
②编写ActionScript3.0代码
使用Flash Professional、Flash Builder、Dreamweaver或文本编辑器来创建ActionScript代码。
③创建“Flash”或“Flex”项目来运行代码
在Flash中,创建FLA文件、设置发布设置、向应用程序添加用户界面组件并引用ActionScript代码。在Flex中,定义应用程序、使用MXML添加用户界面组件并引用ActionScript代码。
④发布和测试ActionScript应用程序。
测试应用程序包括在开发环境中运行应用程序以及确保应用程序各方面都符合预期。如用户可以先设计应用程序的一个屏幕(步骤1),然后创建图形、按钮等(步骤3),最后再编写ActionScript代码(步骤 2)并进行测试(步骤4)。记住开发过程的这四个步骤很有用,在实际开发中,需要根据各阶段进行前后调整。

