版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、动画设计基础第七章第七章 ActionScript应用基础应用基础w 本课要点本课要点w 具体要求具体要求w 本课导读本课导读w 综合实例综合实例动画设计基础本章要点本章要点w ActionScript概述概述w ActionScript语法语法w 添加添加ActionScriptw 场景场景/帧控制脚本帧控制脚本动画设计基础具体要求具体要求w熟练掌握熟练掌握ActionScript的概念和语法的概念和语法等基础知识。等基础知识。w熟练掌握添加熟练掌握添加ActionScript的方法。的方法。w了解并掌握场景了解并掌握场景/帧控制脚本中各脚帧控制脚本中各脚本的功能和语法。本的功能和语法。动画
2、设计基础本课导读本课导读在在Flash 8中,通过为中,通过为按钮按钮、影片剪影片剪辑元件辑元件和和帧帧添加相应的添加相应的ActionScript,对动画的播放流程以及动画中的元,对动画的播放流程以及动画中的元件进行控制,可以制作出各类精美的件进行控制,可以制作出各类精美的动画特效,并可使指定的元件以及动动画特效,并可使指定的元件以及动画实现特定的交互功能。画实现特定的交互功能。动画设计基础7.1 ActionScript 概述概述n7.1.1 关于关于ActionScriptn7.1.2 ActionScript的作用对象的作用对象n7.1.3 ActionScript的编辑环境的编辑环境
3、动画设计基础7.1.1 关于关于ActionScriptw 为什么在众多的动画设计软件中,为什么在众多的动画设计软件中,Flash软件会软件会如此受欢迎呢?原因最重要的一点是因为如此受欢迎呢?原因最重要的一点是因为Flash具有具有ActionScript。而且随着。而且随着Flash版本的升级版本的升级,ActionScript也越来越成熟和完善,让动画也越来越成熟和完善,让动画制作者更加得心应手。制作者更加得心应手。w 源文件位置:源文件位置:【第第7课课源文件源文件黑客帝国字幕黑客帝国字幕.fla】w 源文件位置:源文件位置:【第第7课课源文件源文件波浪波浪.fla】w 源文件位置:源文
4、件位置:【第第7课课源文件源文件鼠标跟随特效鼠标跟随特效.fla】动画设计基础7.1.1 关于关于ActionScriptw ActionScript是一种专属于是一种专属于Flash的程序的程序语言,与语言,与JavaScript有些相似,是一种面有些相似,是一种面向对象的编程语言。向对象的编程语言。w ActionScript能轻松实现对动画的控制以能轻松实现对动画的控制以及对对象属性的修改等操作,还可以取得及对对象属性的修改等操作,还可以取得使用者的动作或资料进行必要的数值计算使用者的动作或资料进行必要的数值计算以及控制动画中的音效等。利用它可以做以及控制动画中的音效等。利用它可以做出互
5、动式的网站、游戏。出互动式的网站、游戏。动画设计基础7.1.1 关于关于ActionScriptw 创建交互式动画的关键,是设置当指定的创建交互式动画的关键,是设置当指定的事件发生时要执行的动作。事件既可以在事件发生时要执行的动作。事件既可以在动画播放到特定帧时触发动作,也可以在动画播放到特定帧时触发动作,也可以在用户单击按钮或按键时触发动作。用户可用户单击按钮或按键时触发动作。用户可以为事件的响应设计一定的动作。例如,以为事件的响应设计一定的动作。例如,可以通过单个语句指令告诉可以通过单个语句指令告诉Flash动画停动画停止播放;也可以使用一系列语句,要求动止播放;也可以使用一系列语句,要求
6、动画在执行某个动作之前,先了解动画的当画在执行某个动作之前,先了解动画的当前状态。前状态。动画设计基础7.1.2 ActionScript的作用对象的作用对象w 在起始页可以选择在起始页可以选择【ActionScript文件文件】和和【ActionScript通信文件通信文件】来编写可重来编写可重用的用的ActionScript代码代码w 在动画设计过程中,可以在在动画设计过程中,可以在3个地方加入个地方加入ActionScript程序,它们分别是关键帧、程序,它们分别是关键帧、按钮和影片剪辑。按钮和影片剪辑。动画设计基础7.1.3 ActionScript的编辑环境的编辑环境w Flash
7、8提供了一个专门用来编写动作脚提供了一个专门用来编写动作脚本的开发环境,这就是本的开发环境,这就是【动作动作】面板。根面板。根据附加主体的不同,可以用不同的方式打据附加主体的不同,可以用不同的方式打开开【动作动作】面板。面板。动画设计基础7.1.3 ActionScript的编辑环境的编辑环境w 1.打开打开【动作动作 - 帧帧】面板的方法,如下图面板的方法,如下图所示。所示。动画设计基础7.1.3 ActionScript的编辑环境的编辑环境w 2. 【动作动作 - 帧帧】面板简介,如图面板简介,如图7-3所示所示。动作工具箱Script导航框将新项目添加到Script中查找和替换 插入目标
8、路径语法检查自动套用格式显示代码提示Script编辑区Script助手调试选项Script参考动作面板菜单动画设计基础7.2 ActionScript的语法的语法w 7.2.1 基本语法基本语法w 7.2.2 数据类型和常量、变量数据类型和常量、变量w 7.2.3 运算符和表达式运算符和表达式w 7.2.4 语句语句w 7.2.5 路径路径w 7.2.6 函数函数w 7.2.7 事件事件动画设计基础7.2 ActionScript的语法的语法w 任何一种语言都有其语法,任何一种语言都有其语法,ActionScript的语法结构类似于的语法结构类似于C+。如图。如图7-4所示。所示。图图7-4
9、编写代码编写代码动画设计基础7.2.1. 基本语法基本语法在在Flash 8中,中,Action脚本的基本语法如脚本的基本语法如下所述。下所述。n点语法点语法n语言标点符号语言标点符号n大小写字母大小写字母动画设计基础(1)点的用法)点的用法w 点点 . 用来说明关于一个对象或电影剪辑的属性用来说明关于一个对象或电影剪辑的属性和方法。它还用于确定一个电影剪辑、变量、和方法。它还用于确定一个电影剪辑、变量、函数或对象的目标路径。点的语法表达式通常函数或对象的目标路径。点的语法表达式通常是这样的:开头是对象或电影剪辑的名称,接是这样的:开头是对象或电影剪辑的名称,接下来是分隔点,最后写上想指定的元
10、素。下来是分隔点,最后写上想指定的元素。w 例如,例如,submit是一个变量,用来设置电影剪辑是一个变量,用来设置电影剪辑的形式,它嵌套在的形式,它嵌套在shoppingCart电影剪辑中。电影剪辑中。表达式表达式shoppingCart.form.submit=true设置设置submit的值为真。的值为真。动画设计基础(1)点的用法)点的用法w 描述一个对象或电影剪辑的方法,按照以下模描述一个对象或电影剪辑的方法,按照以下模式。例如,电影剪辑式。例如,电影剪辑ballMC的运行方式是使之的运行方式是使之在在Stop处重新开始播放,则表达式为:处重新开始播放,则表达式为: ballMC.p
11、lay();w 点的语法命名也可以用两个特殊的别名:点的语法命名也可以用两个特殊的别名:_root和和_parent。别名。别名_root指向主时间轴线,使用指向主时间轴线,使用_root可以创建一个绝对目标路径。下列陈述即可以创建一个绝对目标路径。下列陈述即在主时间轴线上从电影剪辑函数中调用了函数在主时间轴线上从电影剪辑函数中调用了函数buildGameBoard。_root.functions.buildGameBoard();动画设计基础(1)点的用法)点的用法w 可以使用别名可以使用别名_parent去引用一个当前嵌去引用一个当前嵌套的电影剪辑,并且创建一条相对的目标套的电影剪辑,并且
12、创建一条相对的目标路径。路径。w 比如,电影剪辑比如,电影剪辑dog是嵌套在电影剪辑是嵌套在电影剪辑 animal 内部的,下面的陈述表明内部的,下面的陈述表明dog告告知知animal 停止播放:停止播放:_parent.stop();动画设计基础(2)大括号的语法)大括号的语法w ActionScript的语句被加以大括号的语句被加以大括号 后,后,就被组成了块,脚本如下:就被组成了块,脚本如下:on(release) myDate = new Date ();currentMonth = myDate.getMonth ();动画设计基础(3)分号的语法)分号的语法w 一个一个Actio
13、nScript语句是以一个分号(;语句是以一个分号(;)结尾的。例如下面的语句就都是以分号)结尾的。例如下面的语句就都是以分号结尾的:结尾的:column = passedDate.getDay();row = 0;w 如果漏了分号,如果漏了分号,Flash仍可成功编译脚本仍可成功编译脚本,但是使用好分号是个好习惯。,但是使用好分号是个好习惯。 动画设计基础(4)圆括号的用法)圆括号的用法w 当定义了一个函数,可以在圆括号中输入参数:当定义了一个函数,可以在圆括号中输入参数:function myFunction (name, age, reader) .调用了一个括号里面包含参数的函数,如下
14、所示:调用了一个括号里面包含参数的函数,如下所示:myFunction (Steve, 10, true);w 可以使用圆括号去替换优先的命令,使它让你的脚本更可以使用圆括号去替换优先的命令,使它让你的脚本更容易阅读,或者使用圆括号去求在点语法的点的左边表容易阅读,或者使用圆括号去求在点语法的点的左边表达式的值,如下面的实例:圆括号里的达式的值,如下面的实例:圆括号里的 new Color(this)去求创建一个新颜色的对象的值:去求创建一个新颜色的对象的值:onClipEvent(enterFrame) (new Color(this).setRGB(0 xffffff);动画设计基础(5)
15、大写字母和小写字母)大写字母和小写字母w 在在ActionScript里只有关键字才对大小写敏感里只有关键字才对大小写敏感,除此之外,可以随意使用大小写,如下的两,除此之外,可以随意使用大小写,如下的两个语句是等同的:个语句是等同的:cat.hilite = true;CAT.hilite = true;w 在脚本里保持大小写一致是一个好习惯。这样在脚本里保持大小写一致是一个好习惯。这样做阅读代码时就更能更容易辨认函数和变量的做阅读代码时就更能更容易辨认函数和变量的名称。如果编译名称。如果编译 SWF 文件,且该文件的文件,且该文件的发布发布设置设置设置为设置为 Flash Player 7
16、或或 8 和和 ActionScript 1.0,则,则 Flash 会强制区分大小写会强制区分大小写。 动画设计基础(5)大写字母和小写字母)大写字母和小写字母w ActionScript 不区分大小写,不能将变量不区分大小写,不能将变量名与关键字一样,例如下面就是错误的:名与关键字一样,例如下面就是错误的:date new Date();w 如果关键字不能正确使用大小写,脚本就如果关键字不能正确使用大小写,脚本就会出现错误。会出现错误。Actions面板中有色的颜色面板中有色的颜色语法将会被转化,已经拼写正确的大小写语法将会被转化,已经拼写正确的大小写关键字是蓝色的。关键字是蓝色的。动画设
17、计基础(6) 注释注释w ActionScript中的注释仅仅是用来做一些标记中的注释仅仅是用来做一些标记方便阅读代码,并不当作程序的正式代码组成方便阅读代码,并不当作程序的正式代码组成部分。部分。w 比如上面例子中的比如上面例子中的“/创建一个空的影片剪辑创建一个空的影片剪辑”n_mc“;”就是对语句就是对语句“_root.createEmptyMovieClip(”n_mc“,1);”的解释。的解释。w 单行的注释用单行的注释用“/”开头后面跟注释语句,而如开头后面跟注释语句,而如果注释较多一行写不完的话则必须以果注释较多一行写不完的话则必须以“/*”开头开头,“*/”结尾。结尾。动画设计
18、基础(7) 关键字与对象命名关键字与对象命名w 关键字为关键字为ActionScript的系统保留字,在的系统保留字,在变量、函数等用户自定义的元素命名时不变量、函数等用户自定义的元素命名时不能够使用关键字。在给按钮、影片剪辑实能够使用关键字。在给按钮、影片剪辑实例、文本对象命名时也不要使用关键字。例、文本对象命名时也不要使用关键字。w 常见关键字有:常见关键字有:break、for、new、var、continue 、function、return、void、delete、if、this、while、else、in、typeof、with、on、_root、_global等。等。动画设计基础
19、常见关键字常见关键字动画设计基础7.2.2 数据类型和常量、变量数据类型和常量、变量w ActionScript中的数据类型有字符串、数中的数据类型有字符串、数字、布尔值、对象、影片剪辑、字、布尔值、对象、影片剪辑、null类型类型和和undefined类型。类型。动画设计基础常量常量w 程序运行中其值不变的量。它的主要类型程序运行中其值不变的量。它的主要类型如下。如下。n数值型:就是具体的数值。例如,数值型:就是具体的数值。例如,321、987和和19.68等。等。n字符串型:用引号括起来的一串字符。例如字符串型:用引号括起来的一串字符。例如,“Flash”和和“抗战胜利抗战胜利60周年周年
20、”等。等。n逻辑型:用于判断条件是否成立。逻辑型:用于判断条件是否成立。True或或“1”表示真(成立),表示真(成立),False或或“0”表示假(表示假(不成立)。逻辑型常量也叫做布尔常量。不成立)。逻辑型常量也叫做布尔常量。动画设计基础变量变量在在Action脚本中,变量主要用来存储数值脚本中,变量主要用来存储数值、字符串、对象、逻辑值及动画片段等信、字符串、对象、逻辑值及动画片段等信息。一个变量由变量名和变量值组成,变息。一个变量由变量名和变量值组成,变量名用于区分不同的变量,而变量值用于量名用于区分不同的变量,而变量值用于确定变量的类型和内容。变量名可以是一确定变量的类型和内容。变量
21、名可以是一个字母,也可以是由一个单词或几个单词个字母,也可以是由一个单词或几个单词构成的字符串。构成的字符串。动画设计基础(1)变量名)变量名w 变量名需符合以下几点:变量名需符合以下几点:n变量名必须是一个标识符,不能包含任何特变量名必须是一个标识符,不能包含任何特殊符号;殊符号;n变量名不能是关键字及布尔值(变量名不能是关键字及布尔值(true和和false)n变量名在其作用域中唯一。变量名在其作用域中唯一。动画设计基础(2)变量的类型)变量的类型w 变量的类型包括存储数值、字符串和其他数据类型变量的类型包括存储数值、字符串和其他数据类型w 在在Flash中不需要显式的声明一个变量的类型,
22、当变量中不需要显式的声明一个变量的类型,当变量被赋值的时候,它的类型被动态的确定,当然,也可以被赋值的时候,它的类型被动态的确定,当然,也可以把赋值语句理解为变量的声明语句,例如:把赋值语句理解为变量的声明语句,例如: x = 3; w 上面的表达式声明了一个上面的表达式声明了一个x变量,其类型为变量,其类型为number类型类型,并且,并且x的值为的值为3。对变量。对变量x的赋值可能还会改变它的数的赋值可能还会改变它的数据类型:据类型: x = “hello”;w 此时变量此时变量x将从将从number类型改变为类型改变为string类型。这同类型。这同C语言等其他高级语言好像有些不同,但其
23、实语言等其他高级语言好像有些不同,但其实Flash中的中的赋值语句不仅仅是一个赋值功能,它还起到了变量声明赋值语句不仅仅是一个赋值功能,它还起到了变量声明的作用。的作用。动画设计基础(2)变量的类型)变量的类型w 声明了却没有被赋值的变量类型被称为无类型变量。声明了却没有被赋值的变量类型被称为无类型变量。w 在特定的条件下,在特定的条件下,ActionScript可以自动将变量的类型可以自动将变量的类型进行转换。例如,当为进行转换。例如,当为trace语句传递一个值以后,这语句传递一个值以后,这个值被自动转换成字符串类型输出到个值被自动转换成字符串类型输出到Output窗口中。在窗口中。在表达
24、式中,表达式中,ActionScript会根据需要对变量进行类型转会根据需要对变量进行类型转换换w 如下例:如下例: The number is + 7 ActionScript将数字将数字7自动转换成字符串自动转换成字符串7,并将它,并将它添加在前面字符串的末尾:添加在前面字符串的末尾: The number is 7 动画设计基础(2)变量的类型)变量的类型w 在调试脚本的时候,需要确切掌握一个变量的在调试脚本的时候,需要确切掌握一个变量的数据类型,因为数据类型决定了变量的行为,数据类型,因为数据类型决定了变量的行为,ActionScript中提供了中提供了typeof操作符,用于确操作符
25、,用于确定某一个变量的类型:定某一个变量的类型: trace( typeof( aVariable );w 如果如果发布设置发布设置设置为设置为 ActionScript 2.0,编,编译时将强制为译时将强制为 Flash Player 7 和和 8 使用数据类使用数据类型批注(严格数据类型)。型批注(严格数据类型)。 动画设计基础(2)变量的类型)变量的类型w Flash 8中提供了两个类型转换函数。中提供了两个类型转换函数。w Number函数可以将一个字符串转换成数函数可以将一个字符串转换成数字,相应的,字,相应的,String函数可以将一个数字函数可以将一个数字转换成一个字符串,它们的
26、用法比较简单转换成一个字符串,它们的用法比较简单,在,在Flash 8的脚本编辑面板中已经提供的脚本编辑面板中已经提供了充分的提示了充分的提示 动画设计基础(3)变量的作用域)变量的作用域 w ActionScript中有局部变量和全局变量(中有局部变量和全局变量(_global声明声明)之分,全局变量在整个动画的脚本中都有效,而局部)之分,全局变量在整个动画的脚本中都有效,而局部变量只在它自己的作用域内有效。声明局部变量需要用变量只在它自己的作用域内有效。声明局部变量需要用到到var语句。例如,在下面的例子中,语句。例如,在下面的例子中,i是一个局部的循是一个局部的循环变量,它只在函数环变量
27、,它只在函数init中有效:中有效: function init() var i; for(i=0; i10; i+) randomArrayi = random(100); 动画设计基础(3)变量的作用域)变量的作用域w 局部变量可以防止名字冲突,而名字冲突局部变量可以防止名字冲突,而名字冲突可能会导致致命的程序错误。例如,变量可能会导致致命的程序错误。例如,变量n是一个局部变量,它可以用在一个是一个局部变量,它可以用在一个MC对对象中计数,而另外一个象中计数,而另外一个MC对象中可能也对象中可能也有一个变量有一个变量n,它可能用作一个循环变量,它可能用作一个循环变量,因为它们有不同的作用域
28、,所以并不会,因为它们有不同的作用域,所以并不会造成任何冲突。造成任何冲突。 动画设计基础(3)变量的作用域)变量的作用域w 使用局部变量的好处在于减少程序错误发使用局部变量的好处在于减少程序错误发生的可能。比如,一个函数中使用局部变生的可能。比如,一个函数中使用局部变量,那么这个变量只会在函数内部被改变量,那么这个变量只会在函数内部被改变,而一个全局变量可以在整个程序的任何,而一个全局变量可以在整个程序的任何位置被改变,使用错误的变量可能会导致位置被改变,使用错误的变量可能会导致函数返回错误的结果,甚至使整个系统崩函数返回错误的结果,甚至使整个系统崩溃。溃。动画设计基础(4)变量的声明)变量
29、的声明w 在程序中,给一个变量直接赋值或者使用在程序中,给一个变量直接赋值或者使用set Variables语句赋值就相当于声明了全语句赋值就相当于声明了全局变量;局部变量的声明需要用局变量;局部变量的声明需要用var语句语句w 在一个函数体内用在一个函数体内用var语句声明变量,该语句声明变量,该变量就成了这个函数的局部变量,它将在变量就成了这个函数的局部变量,它将在函数执行结束的时候被释放;在根时间轴函数执行结束的时候被释放;在根时间轴上使用上使用var语句声明的变量也是全局的,语句声明的变量也是全局的,它们在整个动画结束的时候才会被释放掉它们在整个动画结束的时候才会被释放掉动画设计基础(
30、5)变量的使用)变量的使用w 在引用一个变量的时候,必须先进行声明在引用一个变量的时候,必须先进行声明(使用(使用var语句或者直接赋值),如果变语句或者直接赋值),如果变量没有得到初始化,那么,在下面的例子量没有得到初始化,那么,在下面的例子中,将会产生错误:中,将会产生错误:w gotoAndPlay( aFrame );w 其中其中aFrame是一个标签,因为是一个标签,因为aFrame没有被声明,没有被声明,gotoAndPlay将会被错误的将会被错误的执行,跳转到一个不确定的位置。执行,跳转到一个不确定的位置。动画设计基础7.2.3 运算符和表达式运算符和表达式w 运算符(即操作符)
31、是能够提供对常量与运算符(即操作符)是能够提供对常量与变量进行运算的元件。变量进行运算的元件。w 表达式表达式是由常量、变量、函数和运算符按是由常量、变量、函数和运算符按照一定顺序排列而成的照一定顺序排列而成的运算式。运算式。w ActionScript中中运算符种类很多,所以表运算符种类很多,所以表达式的种类也相当丰富达式的种类也相当丰富。表达式可分为。表达式可分为3种:算术表达式、字符串表达式和逻辑表种:算术表达式、字符串表达式和逻辑表达式。在表达式中,同级运算按照从左到达式。在表达式中,同级运算按照从左到右的顺序进行。右的顺序进行。动画设计基础7.2.3 运算符和表达式运算符和表达式运运
32、 算算 符符描描 述述结结 合合 性性+一元加一元加从右到左从右到左-一元减一元减从右到左从右到左按位求补按位求补从右到左从右到左!逻辑非逻辑非从右到左从右到左+快速加快速加从左到右从左到右-快速减快速减从左到右从左到右( )函数调用函数调用从左到右从左到右 数组元素数组元素从左到右从左到右.构造成员构造成员从左到右从左到右动画设计基础7.2.3 运算符和表达式运算符和表达式运运 算算 符符描描 述述结结 合合 性性new分配对象分配对象从右到左从右到左delete删除对象删除对象从右到左从右到左typeof对象类型对象类型从右到左从右到左void返回一个未定义的值返回一个未定义的值从右到左从
33、右到左*乘乘从左到右从左到右/除除从左到右从左到右%取模取模从左到右从左到右+加加从左到右从左到右-减减从左到右从左到右=大于等于大于等于从左到右从左到右lt小于小于 (字符串比较)字符串比较)从左到右从左到右le小于等于小于等于 (字符串比较)字符串比较)从左到右从左到右gt大于大于 (字符串比较)字符串比较)从左到右从左到右ge大于等于大于等于 (字符串比较)字符串比较)从左到右从左到右=等于等于从左到右从左到右位右移位右移从左到右从左到右位右移多余部分补零位右移多余部分补零从左到右从左到右小于小于从左到右从左到右大于大于从左到右从左到右!=不等于不等于从左到右从左到右eq等于等于 (字符
34、串比较)字符串比较)从左到右从左到右动画设计基础7.2.3 运算符和表达式运算符和表达式运运 算算 符符描描 述述结结 合合 性性ne不等于不等于 (字符串比较)字符串比较)从左到右从左到右&按位与按位与从左到右从左到右按位异或按位异或从左到右从左到右|按位或按位或从左到右从左到右&逻辑与逻辑与从左到右从左到右|逻辑或逻辑或从左到右从左到右?:条件选择条件选择从右到左从右到左=赋值赋值从右到左从右到左*=、/=、%=、+=、-=、&=|=、=、 =、 =混合赋值混合赋值从右到左从右到左,逗号,多重赋值逗号,多重赋值从左到右从左到右动画设计基础7.2.4 语句语句w 语句
35、是语句是ActionScript能够执行的最小单位能够执行的最小单位,每条语句都必须在,每条语句都必须在末尾加上分号末尾加上分号“;”表示语句结束。表示语句结束。w ActionScript中有中有4种类别的语句:简单种类别的语句:简单语句、选择语句、循语句、选择语句、循环语句和转移语句。环语句和转移语句。 类类 别别名名 称称一一 般般 形形 式式简单语句简单语句表达式语句表达式语句表达式;表达式;空语句空语句;返回语句返回语句return;或或return表达式;表达式;复合语句复合语句语句语句动画设计基础7.2.4 语句语句类类 别别名名 称称一一 般般 形形 式式选择语句选择语句条件语
36、句条件语句if(表达式)(表达式) 语句语句1 else 语句语句2开关语句开关语句switch(表达式)(表达式)case 常量表达式:语常量表达式:语句句default:语句:语句 循环语句循环语句while语句语句while(表达式)语句(表达式)语句for语句语句for(表达式(表达式1;表达式;表达式2;表达式;表达式3)语句)语句do-while语句语句do 语句语句 while(表达式);(表达式);for-in循环循环for(变量(变量 in 对象)对象)语句语句 转移语句转移语句break语句语句break;continue语句语句continue;动画设计基础7.2.5 路
37、径路径w 一个一个Flash文档可以由多个场景组成,而文档可以由多个场景组成,而每个场景又有多个图层,图层里面还可以每个场景又有多个图层,图层里面还可以有影片剪辑等。那么如何调用这些对象呢有影片剪辑等。那么如何调用这些对象呢?w 这就要用到路径的概念,在这就要用到路径的概念,在ActionScript中,路径分为绝对路径和相对路径。中,路径分为绝对路径和相对路径。w 前面在讲点语法的时候提到了路径的概念前面在讲点语法的时候提到了路径的概念。动画设计基础7.2.5 路径路径w 绝对路径:是以主时间轴为参考的,主时绝对路径:是以主时间轴为参考的,主时间轴在间轴在ActionScript中用中用“_
38、root”表示。表示。例如,元件例如,元件mc1被放在元件被放在元件mc2中,中, 元元件件mc2放置在主场景中,那么对于元件放置在主场景中,那么对于元件mc1它的绝对路径就为它的绝对路径就为“_root.mc2”。w 相对路径:是依照某个对象作为参照的路相对路径:是依照某个对象作为参照的路径。在相对路径中同一层可以用径。在相对路径中同一层可以用“this”表示,上一层用表示,上一层用“_parent”表示。表示。动画设计基础7.2.6 函数函数w 函数是完成特定功能的相关代码的集合,函数是完成特定功能的相关代码的集合,是指对常量和变量等进行某种运算的方法是指对常量和变量等进行某种运算的方法,
39、属于一个类的函数称作该类的方法。,属于一个类的函数称作该类的方法。w ActionScript中函数分为中函数分为内置函数内置函数和和自定自定义函数义函数两类。两类。w 内置函数是系统编写好了的函数,只需调内置函数是系统编写好了的函数,只需调用即可,如用即可,如“play();”。动画设计基础7.2.6 函数函数w 自定义函数要求有一定的格式,如下:自定义函数要求有一定的格式,如下:function myFunction (参数参数1,参数参数2,.) . /语句语句return / return为函数返回值,没有返回值时,省略为函数返回值,没有返回值时,省略return。其中,其中,“myF
40、unction”就是函数名,要符合命名规则。就是函数名,要符合命名规则。w 如果要使函数在任何时间轴都可以使用,必须按以下方如果要使函数在任何时间轴都可以使用,必须按以下方式定义:式定义:global.myFunction = function (参数参数1,参数参数2,.) . /语句语句return /return为函数返回值,没有返回值时,省略为函数返回值,没有返回值时,省略return。动画设计基础7.2.7 事件事件w ActionScript中的事件可以是系统内部的中的事件可以是系统内部的也可以是也可以是Flash动画在播放的时候由观看动画在播放的时候由观看者触发的。者触发的。w
41、例如,例如,Flash播放的某一帧可以看作一个播放的某一帧可以看作一个事件,观看者用鼠标单击按钮也是一个事事件,观看者用鼠标单击按钮也是一个事件,按下键盘的某个键也是事件。件,按下键盘的某个键也是事件。动画设计基础7.2.7 事件事件w 正是这些各种各样的事件推动了正是这些各种各样的事件推动了Flash交交互动画剧情的发展,所以对于常用的事件互动画剧情的发展,所以对于常用的事件以及相应的处理必须得熟练的掌握。以及相应的处理必须得熟练的掌握。w ActionScript中的事件大致可以分为中的事件大致可以分为【关关键帧键帧】事件、事件、【按钮按钮】事件、事件、【影片剪辑影片剪辑】事件和事件和【键
42、盘键盘】事件事件4类。类。w 其中其中on()处理函数处理处理函数处理【按钮按钮】事件,事件,onClipevent()处理函数处理处理函数处理【影片剪辑影片剪辑】事件事件动画设计基础编写事件处理程序的方法编写事件处理程序的方法w 针对对象的针对对象的on()或或onClipevent()事件处理函数事件处理函数w 事件处理函数方法事件处理函数方法w 事件侦听器事件侦听器n以下以下 ActionScript 类能够广播事件:类能够广播事件:Key、Mouse、MovieClipLoader、Selection、Stage 和和 TextField。 w 源文件位置:源文件位置:【第第7课课源文
43、件源文件事件处理函数事件处理函数和方法和方法.fla】w 源文件位置:源文件位置:【第第7课课源文件源文件事件侦听事件侦听StageSize.fla】动画设计基础7.3 给给Flash添加添加ActionScriptw 7.3.1 给关键帧添加代码给关键帧添加代码w 7.3.2 给按钮添加代码给按钮添加代码w 7.3.3 给影片剪辑添加代码给影片剪辑添加代码动画设计基础w 在在Flash中能够添加中能够添加ActionScript的只有的只有3个对象:关键帧、按钮和影片剪辑。其他个对象:关键帧、按钮和影片剪辑。其他地方是不可以添加动作脚本的,否则会引地方是不可以添加动作脚本的,否则会引起起Fl
44、ash出错。下面用具体的例子来介绍出错。下面用具体的例子来介绍怎样为这怎样为这3个对象添加代码。个对象添加代码。7.3 给给Flash添加添加ActionScript动画设计基础 7.3.1给关键帧添加代码给关键帧添加代码 例例1w案例目标案例目标本案例通过为本案例通过为“制作制作故乡的云故乡的云动画动画.fla”文件中的相应关键帧添加用于停止播文件中的相应关键帧添加用于停止播放的放的ActionScript,使动画播放完后出现自,使动画播放完后出现自动停止的效果。动停止的效果。n素材位置:素材位置:【第第7课课素材素材】n源文件位置:源文件位置:【第第7课课源文件源文件为帧添加为帧添加Act
45、ion脚本脚本.fla】动画设计基础 7.3.1给关键帧添加代码给关键帧添加代码 例例1w操作思路操作思路(1)打开)打开“制作制作故乡的云故乡的云动画动画.fla”动画文档。动画文档。(2)选中位于动画结束处的关键帧,然)选中位于动画结束处的关键帧,然后通过后通过【动作动作】面板为帧添加面板为帧添加stop( ); 。动画设计基础7.3.1 给关键帧添加代码给关键帧添加代码 例例2w 能够添加代码的可以是有对象的关键帧也能够添加代码的可以是有对象的关键帧也可以是空白关键帧。下面用一个画线的例可以是空白关键帧。下面用一个画线的例子来具体说明怎样为关键帧添加代码。子来具体说明怎样为关键帧添加代码
46、。w 源文件位置:源文件位置:【第第7课课源文件源文件画线画线.fla】图图7-5 效果图效果图动画设计基础7.3.1 给关键帧添加代码给关键帧添加代码_root.onMouseMove = function() /侦听鼠标移动侦听鼠标移动 _root.onMouseDown = function() /侦听鼠标左键按下侦听鼠标左键按下 line = true; _root.moveTo(_root._xmouse, _root._ymouse)/将当前绘画位置移动到鼠标位置将当前绘画位置移动到鼠标位置 _root.onMouseUp = function() /侦听鼠标释放侦听鼠标释放 li
47、ne = false; if (line) _root.lineStyle(10, 0 xff0000, 100)/设置线条属性设置线条属性 _root.lineTo(_root._xmouse, _root._ymouse)/绘制线条绘制线条 动画设计基础7.3.2 给按钮添加代码给按钮添加代码w 按钮是实现动画与观看者之间互动的重要按钮是实现动画与观看者之间互动的重要媒介。下面制作一个例子实现按钮对场景媒介。下面制作一个例子实现按钮对场景中对象的控制。中对象的控制。图图7-6 效果图效果图动画设计基础7.3.2 给按钮添加代码给按钮添加代码w 步骤如下:步骤如下:n(1)新建一个)新建一个
48、Flash文档文档n(2)布置场景中的按钮和图形。)布置场景中的按钮和图形。n(3)为按钮添加代码。)为按钮添加代码。n(4)测试影片效果)测试影片效果w 源文件位置:源文件位置:【第第7课课源文件源文件给按钮添给按钮添加代码加代码.fla】动画设计基础7.3.3 给影片剪辑添加代码给影片剪辑添加代码w 给影片剪辑添加代码的方法与给按钮添加给影片剪辑添加代码的方法与给按钮添加代码的方法相同。下面同样以具体的例子代码的方法相同。下面同样以具体的例子来说明怎样为影片剪辑添加代码。来说明怎样为影片剪辑添加代码。图图7-7 效果图效果图动画设计基础7.3.3 给影片剪辑添加代码给影片剪辑添加代码w 步
49、骤如下:步骤如下:w (1)新建一个)新建一个Flash文档文档w (2)绘制六角形)绘制六角形w (3)为影片剪辑添加代码。)为影片剪辑添加代码。w (4)测试影片效果)测试影片效果w 源文件位置:源文件位置:【第第7课课源文件源文件给影片剪给影片剪辑添加代码辑添加代码.fla】动画设计基础7.4 场景场景/帧控制脚本帧控制脚本7.4.1 知识讲解知识讲解7.4.2 典型案例典型案例利用利用ActionScript实现实现动画播放控制动画播放控制动画设计基础7.4.1 知识讲解知识讲解在在Flash 8中,场景中,场景/帧控制脚本,也叫时帧控制脚本,也叫时间轴控制脚本,主要通过对动画中的帧和
50、间轴控制脚本,主要通过对动画中的帧和场景进行控制,如停止、播放和跳转等。场景进行控制,如停止、播放和跳转等。通过这类脚本的应用,可以对动画的播放通过这类脚本的应用,可以对动画的播放进度和播放状态进行相应的控制。进度和播放状态进行相应的控制。动画设计基础7.4.1 知识讲解知识讲解在实际应用中,常用的场景在实际应用中,常用的场景/帧控制脚本帧控制脚本(时间轴控制函数)有以下(时间轴控制函数)有以下9个。个。play stop gotoAndPlaygotoAndStop nextFrameprevFrame nextSceneprevScene stopAllSounds动画设计基础时间轴控制函
51、数时间轴控制函数w 时间轴控制函数是全局函数中的一类,在时间轴控制函数是全局函数中的一类,在“全局函数全局函数”“时间轴控制时间轴控制”目录下可目录下可以找到。以找到。w (1)stop():暂停当前动画的播放,使:暂停当前动画的播放,使播放头停止在当前帧。播放头停止在当前帧。w (2)play():如果当前动画暂停播放,:如果当前动画暂停播放,而且动画并没有播放完时,从播放头停止而且动画并没有播放完时,从播放头停止处继续播放动画。处继续播放动画。动画设计基础时间轴控制函数时间轴控制函数w (3)gotoAndPlay(scene, frame):指定跳转到某个帧开始播放动画,参数:指定跳转到
52、某个帧开始播放动画,参数scene是设置开始播放的场景,如果省略是设置开始播放的场景,如果省略scene参数,则默认当前场景;参数参数,则默认当前场景;参数frame是指定播放的帧号。是指定播放的帧号。w (4)gotoAndStop(scene, frame);这条函数是指定跳转转至动画的指定帧;这条函数是指定跳转转至动画的指定帧并停止在该帧。并停止在该帧。动画设计基础时间轴控制函数时间轴控制函数w (5)nextFrame()功能:播放动画的下功能:播放动画的下一帧,并停在下一帧。一帧,并停在下一帧。w (6)prevFrame()功能:播放动画的前功能:播放动画的前一帧,并停在前一帧。一
53、帧,并停在前一帧。w (7)nextScene()功能:使动画进入下一功能:使动画进入下一场景的第场景的第1帧,并继续播放动画。帧,并继续播放动画。w (8)prevScene()功能:使动画进入前功能:使动画进入前一场景的第一场景的第1帧,并继续播放动画。帧,并继续播放动画。动画设计基础时间轴控制函数时间轴控制函数w (9)stopAllSounds函数:停止当前动函数:停止当前动画所有声音的播放,但是动画仍然继续播画所有声音的播放,但是动画仍然继续播放。放。动画设计基础7.4.2 典型案例典型案例利用脚本实现利用脚本实现动画播放控制动画播放控制w案例目标案例目标本例将通过在本例将通过在“制
54、作制作飞奔飞奔逐帧动画逐帧动画.fla”文文件中新建按钮元件,并为按钮元件添加本节所件中新建按钮元件,并为按钮元件添加本节所学的场景学的场景/帧控制帧控制脚本脚本,对动画的播放状态进行,对动画的播放状态进行控制。通过练习为按钮元件添加控制。通过练习为按钮元件添加ActionScript的方法,并掌握相应的方法,并掌握相应ActionScript的基本用法的基本用法。n素材位置:素材位置:【第第7课课素材素材】n源文件位置:源文件位置:【第第7课课源文件源文件利用脚本实现动画播利用脚本实现动画播放控制放控制.fla】动画设计基础7.4.2 典型案例典型案例利用脚本实现利用脚本实现 动画播放控制动画播放控制w操作思路操作思路(1)打开)打开“制作制作飞奔飞奔逐帧动画逐帧动画.fla”动画文动画文档。档。(2)新建)新建“播放播放”、“停止停止”、“跳转跳转”和和“微微移移”按钮元件。按钮元件。(3)将按钮元件放置到场景中,并做相应排列。)将按钮元件放置到场景中,并做相应排列。(4)为各按钮添加相应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 灌区内部员工奖励制度
- 煤炭公司内部管理制度
- 武汉铁路桥梁职业学院《造型基础一素描》2024-2025学年第二学期期末试卷
- 牧原内部奖罚管理制度
- 环卫处财务内部控制制度
- 画室内部规章制度范本
- 科室内部管理制度手册
- 科研经费内部公示制度
- 粮食内部审计制度
- 辽宁省医院内部审计制度
- 绿色低碳建筑设计 课件全套 第1-8章 绿色低碳建筑设计概论-实践案例分析
- 医疗器械出入库管理制度
- 2025 特斯拉Optimus22自由度灵巧手方案解析:人形机器人“好用”的关键
- 急诊急救肺性脑病
- 瑞文高级推理实验APM附有答案
- 居住区规划智慧树知到期末考试答案章节答案2024年湖南师范大学
- 2021年度企业所得税汇算清缴之《贷款损失准备金及纳税调整明细表》填报详解
- ISO27001 2022版管理评审全套资料
- 灵璧中学尸检报告
- 部编版小学语文四年级下册第一单元教材解读课件
- 眼镜各部件英语知识点梳理汇总
评论
0/150
提交评论