




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七章 基础交互式动画制作第七章 基础交互式动画制作如果Flash仅能够作出令人匪夷所思的动画,而不能在观众与电影之间形成一种交互关系,那么Flash将至少失去一半的魅力。幸运的是,Flash以其强大的交互功能,在用户和电影之间架起一座桥梁。它使我们的互联网生活更加丰富多彩。每一个交互电影都必须使访问者参与在内。使用键盘、鼠标或者二者兼用,访问者可以跳到电影的不同部分、移动电影中的对象、对话框中输入信息或者执行多种交互操作。怎样创建交互电影?可以设定一系列的动作指令来指定事件发生。能够触发动作的事件即可以是电影中的某一帧,也可以是电影中的一个按钮或是键盘上的某一键。简单的说,用户所要做的就是告诉Flash当事件发生时执行哪个动作。ActionScript就是Flash的脚本语言,用脚本语言编写的程序嵌入Flash动画后可以实现上面提到的各种功能。本课将深入介绍Flash CS3的脚本编程语言ActionScript3.0,它丰富了Flash世界,使得Flash动画功能得到了无限的扩展,并且使动画具有了交互性,为用户提供了灵活参与和主动控制的空间,提高了用户的参与性与动画的交互性。第一部分 学习要求一 应知目标1. 了解ActionScript语言的概念和用途2. 了解变量与函数的命名和定义3. 了解Flash编程基础知识4. 了解实现交互式动画的方法二 应会目标1. 掌握编程的基本知识2. 掌握脚本的基本函数3. 掌握交互式动画的制作方法4. 掌握影片剪辑元件属性的控制三 预备知识1. 掌握动画制作的基本方法2. 熟悉图形元件的绘制和导入外部元件3. 熟悉动画制作的流程4. 了解一门基本的编程语言四 课时安排项目学时教学方式(参考)1预习课余预习本课相关的知识,并能完成本次课的项目实例操作2课堂讲解2学时. 讲解交互式动画的含义. 讲解ActionScript3.0的基础知识. 讲解使用“动作”面板编写脚本. 讲解常用的基本编程语句3实训练习2学时. 参考课堂上教师讲解的操作步骤,完实践训练中的项目内容. 有实力的同学继续完成职岗演练中的项目内容第二部分 课堂讲解7.1 ActionScript3.0简介ActionScript是由Flash Player中的ActionScript虚拟机(AVM)来执行的。ActionScript代码通常被编译器编译成“字节码格式”(一种由计算机编写且能够为计算机所理解的编程语言),如Adobe Flash CS3 Professional或Adobe Flex Builder的内置编译器或Adobe Flex SDK和Flex Data Services中提供的编译器。字节码嵌入SWF文件中,SWF文件由运行时环境Flash Player执行。ActionScript 3.0的脚本编写功能超越了ActionScript的早期版本。它旨在方便创建拥有大型数据集和面向对象的可重用代码库的高度复杂应用程序。虽然ActionScript 3.0对于在Adobe Flash Player 9中运行的内容并不是必需的,但它使用新型的虚拟机AVM2实现了性能的改善。ActionScript 3.0代码的执行速度可以比旧式ActionScript代码快10倍。ActionScript 3.0提供了可靠的编程模型,具备面向对象编程的基本知识的开发人员对此模型会感到似曾相识。ActionScript 3.0中的一些主要功能包括:u 一个新增的ActionScript虚拟机,称为AVM2,它使用全新的字节码指令集,可使性能显著提高u 一个更为先进的编译器代码库,它更为严格地遵循ECMAScript(ECMA262)标准,并且相对于早期的编译器版本,可执行更深入的优化u 一个扩展并改进的应用程序编程接口(API),拥有对对象的低级控制和真正意义上的面向对象的模型u 一种基于即将发布的ECMAScript(ECMA-262)第4版草案语言规范的核心语言u 一个基于文档对象模型(DOM)第3级事件规范的事件模型。7.2 ActionScript3.0编程基础ActionScript 3.0是面向对象的脚本语言,具有数据类型、变量和常数、函数、语句、操作符、条件和循环结构、对象等基本的编程概念。7.2.1 ActionScript3.0中数据的本质及重要性数据是一切编程语言的基石。在ActionScript中,我们非常熟悉的所有数值,比如MOvieClip的帧数、舞台的大小及视频流播放的状态,都是通过数据来描述的。我们给数据起了各种各样的名字,这些名字就是通常所说的变量(Variable),通过变量来调用数据。变量怎样与数据发生联系呢?“一切都是对象”,ActionScript3和Java、C一样,是纯粹的面向对象语言,所以ActionScript里面的一切数据都是对象。我们通过变量来操作对象,变量和对象是怎样联系?变量持有引用(Reference),而引用则只想要操作的对象。因此,实际上我们是通过引用来操作对象。举一个比较简单的比喻:引用好比是一个遥控器,变量是遥控器的名字,引用可以直接遥控到要操作的内存中的对象。我们对引用的操作,实际上就相当于操作内存中的对象。var yaokong : Array = new Array(1,2,3);请先看以下这行代码,然后我们再解释一下真正的实现过程:首先,用var这个关键字告诉Flash Player 要建立一个名字叫“yaokong”的遥控器。“:”后面跟着“Array(数组)”,意思是说这个遥控器的类型是专门用来操作数组的。注意:这个时候遥控器还不能工作,因为Flash Player还没有告诉它能遥控哪个数组对象。然后用new这个关键字,告诉Flash Player要建立一个对象。用“Array()”告诉Flash Player对象类型是数组,用“(1,2,3)”告诉Flash Player这个数组包含3个数:1,2,3。最后用“”告诉Flash Player,这个名字叫yaokong的遥控器来遥控这个新的数组对象。这样,对象,引用,变量三者就有机的联系起来了。7.2.2 ActionScript3.0的数据类型数据类型是对不同种类信息的表达方式。ActionScript3.0支持的数据类型分为:基元数据类型和复杂数据类型。u 基元数据类型:是语言的基本构成单元,比如:数字、文字、条件真假等。ActionScript3中预定义的基元数据类型一共有:Boolean、int、Number、String和uint。其中,int、Number和uint是处理数字的;int是用来处理整数的;Number是用来处理很长又有小数点的数字;uint处理很大的正整数;String是处理文字的,成为字符串;Boolean,又称布尔值,用来标识真假。这种类型的数据只有两个,一共是真(true),一共是假(false)。u 复杂数据类型:是相对于基元数据类型而言的。ActionScript3中经常用到的复杂数据类型有:Array、Date、Error、Function、RegExp、XML和XMLList,我们自己定义的类也全部属于复杂数据类型。7.2.3 变量的声明和使用1. 变量的声明在ActionScript3中,声明变量的格式如下:var 变量名:数据类型;var 变量名:数据类型值;var是一个关键字,用来声明变量。变量的数据类型是写在冒号后。其次,如果要赋值,那么值的数据类型必须和变量的数据类型一致。/ 错误的例子i; /没有加var关键字,即没有声明变量,出错i3; /没有加var关键字,出错var j:int = “String Value”; /声明变量的数据类型为int,却赋予了一共字符串的值,出错/正确的例子var i :int; / 声明了一个int型变量,但没有赋值,只好使用默认值var k :int = 100; /声明了一个int型变量,并赋值为100var h; /声明变量h,但未指定类型,默认为untypedvar g :*; /声明变量g,效果同上行ActionScript3每行结尾不加上分号不会导致报错,但是为了代码标准化,应当加上。而且某些ActionScript IDE(开发环境)在写代码时就会将这种情况报错。2. 变量的命名命名规则不仅仅是为了让编写的代码符合语法,更重要的是增强自己代码的可读性。要做到自己看的清楚,别人看的明白。u 尽量使用有含义的英文单词作为变量名(例如:一个变量名为address,这个变量的存储就应该是地址。)u 变量名采用骆驼命名法(骆驼式命名法是指混合使用大小写字母来构成变量和函数的名字。首字母小写,第二词的首字母大写)u 变量名不能是ActionScript内部定义的保留字和关键字,ActionScript保留一些单词,专门用于本语言中,不能用于变量、函数名等的定义,常用的关键字有:Break,for,new,var,Continue,function,return,void,Delete,if,this,while,Else,in,typeof,with ,set,get,with,try,true,false,class, else,each,include,null,is,in,typeof,const7.2.4 ActionScript3中常用的数据类型在ActionScript3中,经常要用到的数据类型主要有:所有的基元数据类型(Boolean、int、uint、Number、String)和两种复杂数据类型(Array、Object)。1. 字符串(String)字符串是一对用双引号包括起来的字母、数字、特殊字符的组合,如“Hello World!”、“动画制作”等等。引号内的字符是区分大小写的,字符串型数据能进行字符串连接运算。如下语句:“I am a”+“student.” /结果是:“I am a student.”2. 布尔值(Boolean)是用来表示真假的数据类型。它只有两个值:true(真)和false(假),如果值声明一个布尔类型的变量,没有给它赋值,默认是false。(注意:在之前的版本中默认是undefined)3. 数字(int、uint、Number)在ActionScript3中表示数字值的数据类型很少,只有3种:int、uint和Number。其中int和uint是整形数值,专门用来处理整数,Number是用来处理浮点数。int是有符号32位整型数,数值范围是:2147483648(负的2的31次方)2147483648(正的2的31次方)uint是没有符号的32位整型数,数值范围是04294967295,也就是02321。注意:int、uint和Number的区别能使用整数值时优先使用int和uint,整数值有正负之分时,请使用int。只处理正整数,优先使用uint,处理和颜色相关的数值时,使用uint。碰到或可能碰到小数点时用Number。Number是64位浮点值。4. 数组(Array)数组是可以做为数据的容器,它能包含更多的数据,每一个元素(数据中的一部分)都被附于一个索引。数组的声明方式有以下几种:var a:Array /声明一个数组变量a,但还没有告诉a这个引用指向谁。Trace得到nullvar b:Array /直接声明一个空数组b。trace得到空白的显示,但不再是null了var c:Array new Array(); /效果同b的方法var d:Array 1,2,3,4; / 直接使用 操作符,建立一个含有整数1,2,3,4的数组var e:Array = new Array(1,2,3,4); /使用Array类来进行和d同样的操作var f:Array new Array(5); /声明一个长度为5的空数组,此时每个数组元素都为空访问数组中的元素,只需要知道元素的位置,就可以使用数组运算符( )来访问它。比如d0、d1,索引0代表第一个元素,第二个元素的索引值为1,其余依次类推。5. 对象(Object)对象数据类型包含大量复杂的信息,是ActionScript所有数据结构的基石,是面向对象编程思想的载体。对象是属性的集合,每个属性都有名字和值。属性值可以是任何一种Fash CS3支持的数据类型,甚至是对象类型。对象及其属性的设定需要使用(.)操作符。点语法()用于设置对象或影片剪辑的属性和方法,它也用于标识指向影片剪辑或变量的目标路径。一个点语法表达式以对象或影片剪辑的名字开始,后面跟着一个点,以属性、方法或者变量来结束,在这两组之间可以插入路径。比如:_x表示一个影片剪辑实例在X轴的位置,而newmc._x就是指出影片剪辑实例newmc的X轴位置。又如:在对象名的后面紧跟相应方法来指示对象做某一操作。例如:MC.play(); /播放影片剪辑7.2.5 运算符、表达式及运用编程语言必须要清楚描述如何进行数据运算,因此我们必须通过某种表达方式告诉电脑进行什么样的数据运算。1. 赋值运算符:2. 算术运算符:+、-、*、/、(模)3. 算术赋值运算符:+=、-=、*=、/=、%=,等价关系见表7-1表7-1 算术赋值运算符等价表达式表运算符运算符例子等价表达式+=a+=ba = a+b-=a-=ba = a-b*=A*=ba = a*b/=a/=ba = a/b%=a%=ba = a%b4. 关系运算符:=、!=、=、操作比较简单,不做多讲,注意其返回值为布尔值5. 逻辑运算符:&、|、!逻辑运算符比较好理解,只包括3个运算符: 逻辑与(&):当两边表达式都为true时,返回值为true 逻辑或(|):当两边表达式有一个值为true 逻辑非(!):只有一个运算对象,在右边,其布尔值取反7.2.6 流程控制语句程序流程是程序执行的方向,是语句执行的先后顺序。ActionScript3中有三种结构的控制流程:顺序、条件和循环。任何复杂的程序都可有由这三种结构组成,这三种结构可以相互包含,嵌套使用。1. 顺序结构顺序结构是程序最基本、最简单的结构,在分支结构和循环结构中也包含顺序结构。在顺序结构中,程序按照语句出现的先后顺序依次执行,直到到达最后的语句。顺序机构示意图如图7-1所示。 图7-1 顺序结构示意图 图7-2 分支结构示意图2. 分之结构分支结构是程序依据预先设定的条件成立与否,决定执行哪个分支,分支结构由if条件语句实现,分支结构也是也成条件结构。分支结构的示意图如图7-2所示。整个if条件语句的语法格式是:if (条件) 代码段1else if (条件2) 代码段2else 代码段n在if条件结构中,else选项可要也可不要。当程序执行到if语句时,首先判断条件1是否成立,如果成立,则执行代码段1,然后退出条件结构,执行条件结构后面的语句;如果条件1不成立,依次判断条件2是否成立,如果成立,执行代码段2,退出条件结构,如果不成立,继续判断设定的其他条件;当设定的所有条件都不成立时,执行else后面的代码段n。条件语句可嵌套使用,可就是上述代码段还可以再包含条件语句,此项功能使得用户能设计出更复杂条件的程序,只要用户愿意,完全可按照自己的要求来选择条件嵌套的层数。3. 循环结构循环结构是程序依据预先设定的条件是否成立,反复执行相同的代码段,当条件不成立时,退出循环。循环结构主要是用for语句和while语句实现。循环结构示意图如图7-3所示。图73 循环结构示意图u for循环for循环比较灵活,应用最为广泛,其循环结构如下:for (初始化;循环条件;步进)循环体其中步进是指每一次循环时,对循环变量所做的变化。例如,以下代码是计算result的结果是10!3628800var result :int 1;for(var i:int 1; i =10;i+)result = result*i;u while循环while的中文意思就是“当的时候”,所以while循环表示:当条件满足表达式的时候再执行循环体。它的结构如下:while(循环条件)循环体使用前例for循环的实现的程序如下:var result :int 1;var i :int =1;while(i“首选参数”(Windows)或“Flash”“首选参数”(Macintosh),在“类别”列表中单击“ActionScript”,然后启用或禁用“代码提示”。u 在面板菜单(位于动作面板的右上角)中选择“首选项”,然后在ActionScript首选参数中启用或禁用“代码提示”。 7.4 给对象添加动作“动作”面板中可以为帧、按钮和影片剪辑设置动作,下面详细讲述三种添加动作的方法。7.4.1 给帧添加动作给关键帧指定一个动作,以使电影在到达那一帧时做些事情,也是控制时间轴的动作。常见的就是对时间轴的控制,对时间轴的控制一般使用play()(播放)、GotoAndPlay()(跳转到某一帧播放)、stop()(停止)、GotoAndStop()(跳转到某一帧停止)语句。项目实例7-1:让一个动画播放到最后一帧停止(到本教材的配套教学网站上下载实例素材和效果动画)(1)打开实例源文件“庆祝国庆.fla”,在现有源文件的基础上再添加一个图层,命名为动作,如图7-6的所示。(2)选中动作图层中的最后一帧,按下F6创建关键帧。(3)然后执行“窗口”“动作”或按下F9,打开动作窗口。(4)然后双击动作工具箱中“全局函数”“时间轴控制”“stop”,则会自动在“脚本”窗格里面输入动作“stop();”。图7-6 “项目实例7-1”展示图7.4.2 给按钮添加动作为按钮实例添加动作,可以使用户在按下鼠标或者在鼠标经过按钮等其它事件时,执行动作,给一个按钮实例添加动作不会影响其它按钮的动作。当给一个按钮添加动作时,可以指定触发动作的鼠标事件,也可以指定一个触发动作的键盘中的某一键。当给按钮设置动作时,必须把该动作嵌套在鼠标事件on(mouse event)处理程序中,并指定触发该动作的鼠标或键盘事件,基本表达式为:on (鼠标事件)控制语句;常见的控制语句有:play()、stop()、goToAndPlay()(调转到某一帧或者某场景的某一帧播放),goToAndStop(调转到某一帧或者某场景的某一帧停止)。例如:on (press)goToAndPlay(5); /跳转到当前场景时间抽第5帧开始播放goToAndPlay(“场景 2”,5); /跳转到“场景 2”的事件轴的第5帧开始播放。mc. goToAndPlay(5); /跳转到影片剪辑元件mc的第5帧开始播放。使用按钮时,可供选中的鼠标事件如表7-3所示:表7-3 按钮事件一览表press当指针在按钮上,鼠标被按下时发生release当指针在按钮上,鼠标被释放时releaseOutside当鼠标在按钮上按下,移动到按钮外部时发生rollOver当鼠标指针滑到按钮上时发生rollOut当鼠标指针滑出按钮上时dragOver当鼠标指针处于拖动状态时经过某个对象时发生的事件dragOut也就是当鼠标处于拖动状态下时从一个对象上法移动出去时发生的事件keypress”当我们需要捕捉用户的按键操作时都需要使用这个事件,比方说如果需要捕获用户按下方向键左键的操作时可以使用On(keyPress” ”),其他的以此类推。项目实例7-2:制作一个影片剪辑元件,使用按钮的不同事件体验不同情况下所执行的效果。(到本教材的配套教学网站上下载实例素材和效果动画)(1)创建影片文件:打开Flash CS3软件,执行“文件”“新建”“Flash文件(ActionScript2.0)”,创建一个影片文件“各种事件.swf”,设置影片大小为500400像素,背景颜色为#FF9900。(2)制作影片剪辑元件:执行“插入”“新建元件”,创建一个名为“一个圆”的图形元件,如图7-7所示。同样的方法,再创建一个名为“多个圆”的图形元件、名为“小圆”的图形元件和一个名为“动画”的影片剪辑元件。图7-7 “创建新元件”窗口(3)绘制“一个圆”元件执行“窗口”“库”打开“库”面板,双击“一个圆”元件,进入编辑状态,打开“颜色”面板,设置“颜色”面板。如图7-8所示。然后选中“工具箱”里面的“椭圆”工具,在“一个圆”元件上画出直径为143Px的圆,并执行“对齐”方式,让圆位于元件的中心位置。提示,可以先将圆画好之后,再在“属性”面板里面设置宽和长即可。 图7-8 “一个圆”的“颜色”面板的参数设置 图7-9 “小圆”的“颜色”面板的参数设置(4)绘制“小圆”元件操作方法同第三步,“颜色”面板参数设置如图7-9。绘制小圆的直径为13.5像素,也让小圆位于元件的中心位置。(5)制作“多个圆”元件从“库”面中双击打开“多个圆”编辑窗口,然后将“小圆”元件拖到“多个圆”的编辑窗口中,位于“多个圆”元件的中心位置;然后然后执行“视图”“网格”“显示网格”,让网格显示出来;选中“工具箱”中的“任意变形”工具,拖动变形控制点的中心到左边第4个方格处,如图7-10所示;然后执行“窗口”“变形”,打开“变形”面板,参数设置如图7-11所示。然后点击处的“复制并应用变形”按钮,一直到“小圆”成为一个封闭的大圆即可,如图1-12所示。 图7-10 任意变形控制中心点左移的位置 图7-11 “变形”面板的参数设置图7-12 由“小圆”形成的封闭圆(6)制作“动画”影片剪辑元件双击元件库里面的“动画”元件,打开编辑窗口,然后选中第1帧中的元件,按下Ctrl+B,将“一个圆”元件打散,同上,在第25帧处选中“多个圆”元件,连续按下2次CtrlB,将元件打散;然后将光标定位到第1帧和第25帧中间的任何一帧处,点击属性面板上的“补间”“形状”,创建形状渐变动画,如图7-13所示。 图7-13 影片剪辑元件的效果 7-14 为影片剪辑元件加的脚本(7)为“动画”元件的第1帧加动作stop(),让其开始处于停止状态,如图7-14所示。(8)点击“场景1”,进入舞台编辑窗口,撤销网格显示,再新建两个图层,分布修改图层的名称为按钮层、动画层和文字层,如图7-15所示,然后执行“窗口”“公用库”“按钮”,打开“按钮”面板,拖出七个按钮竖直排列,并注明文字,如图7-16所示。将“动画”元件拖动到场景里,为其命名其实例名称为“mc”,如图7-15所示。 图7-15 “工作界面”窗口 7-16 文字显示内容(9)选中“press”按钮,按下F9键,打开动作面板,输入脚本“mc.play();”,如图7-17所示。图7-17 输入动作窗口(10)相同的方法,为其它几个按钮添加动作,只是修改事件即可,然后预料动画,即可以体验不同事件下的相同效果。项目实例7-3:利用getURL跳转到其他网页和发送邮件(到本教材的配套教学网站上下载实例素材和效果动画)。getURL用于建立Web页面链接,键入要链接的URL地址,只要URL书写正确,链接的内容就会正确显示出来。(1)打开原始文件7-3.fla,选中“进入”按钮,如图7-18所示。图7-18 选中“进入”按钮示意图(2)执行“窗口”“动作”,打开动作窗口,双击左侧的“全局函数影片剪辑控制on”,如图7-19所示,然后在右边输入脚本。图7-19 输入链接网页脚本示意图(3)发送邮件功能则输入如图7-20所示的脚本。图7-20 输入发送邮件脚本示意图(4)按下“Ctrl+Enter”预览动画,点击“进入”,就可以进入指定的网址了。项目实例7-4:使用fscommand动作来控制影片的关闭、全屏、保持原始大小和屏蔽菜单功能。知识点提示:当含有fscommand的关键帧或按钮被激活时,Flash将会传递信息给Javascript。当浏览器收到fscommand信息,它将会检查是否有相应的JavaScript函数,如果找到了,则会把fscommand中的两个参数(“命令”和“参数”)传递到函数中,并开始运行函数。Fscommand动作有两个参数:“命令”和“参数”。在“命令”文本框中输入想要调用的函数名,如表7-4所示。表7-4 fscommand常用命令的相关参数列表命令参数功能quit无关闭放映文件fullscreentrue或false指定true,会把Flash Player设置为全屏模式,指定flash,播放器会返回到标准菜单试图allowscaletrue或false指定false,设置播放器,则影片将总保持原始大小,从不缩放,指定true,强制影片缩放到播放器的100大小。showmenutrue或false指定true,启用全部的上下文菜单项,指定false,屏蔽除“关于Flash Player”以外的所有其他上下文菜单项(1)打开原始文件7-4.fla,点击第105帧,即可看到舞台中的背景效果如图7-21所示。图7-21 第105帧的舞台背景(2)选中“全屏”按钮,按下F9打开动作面板,然后双击面板左侧“全局函数浏览器/网络fscommand”,添加fscommand语句,如图7-22所示。图7-22 为全屏按钮添加的脚本(3)选中“退出”按钮,在动作面板里面输入代码:on (release)fscommand(fullscreen,false);(4)选中“关闭”按钮,在动作面板里面输入代码:on (release)fscommand(quit);(5)按下CtrlEnter组合键发布动画,然后直接打开发布后的swf文件即可执行三种功能的按钮。(注意,是打开发布后的swf文件)(6)禁止缩放动画,选中action图层的第一帧,然后在动作面板中输入“fscommand(allowscale,false);”,然后按下CtrlEnter组合键,发布动画,直接打开发布后的动画,在放大或缩小播放器窗口前后,动画的大小保持不变。(7)制作屏蔽右键菜单动画,选中action图层的第一帧,然后在动作面板中输入“fscommand(showmenu,false);”,然后按下CtrlEnter组合键,发布动画,直接打开发布后的动画,再次单击鼠标右键,绝大多数的菜单项目被屏蔽,如图7-23所示。 图7-23 右键菜单被屏蔽前后效果7.4.3 给影片剪辑添加动作通过为影片剪辑指定动作,可在影片剪辑加载或接收到数据时让影片执行动作。和为按钮添加动作一样,必须将动作指定给影片剪辑的一个实例。 当为影片剪辑指定动作时,必须将动作嵌套在 onClipEvent 处理函数中,并指定触发该动作的剪辑事件。表达式如下:onClipEvent (鼠标事件)控制语句;针对影片剪辑元件的鼠标事件如表7-5所示表7-5 影片剪辑元件的鼠标事件一览表load当影片片断第一次加载到时间轴时,会触发本事件一次。unLoad当影片片断被删除时,会触发本事件一次。enterFrame当影片片断加载时间轴时,不论是放映或停止状态,都会不断触发本事件。所以只要此片断被加载后,此事件会一直不断地执行,直到影片片断被删除为止。mouseDown当鼠标左键被按下时,会触发本事件一次。mouseUp当被按下的鼠标左键被放开时,会触发本事件一次。mouseMove只要在场景中移动鼠标,就会不断触发本事件。keyDown当键盘被按下时,会触发本事件。keyUp当已按下的键盘被松开时,会触发本事件一次data当在loadVariables()或loadMovie()动作中接收数据时启动此动作。当与loadVariables()动作一起指定时,data事件只在加载最后一个变量时发生一次。当与loadMovie()动作一起指定时,获取数据的每一部分时,data事件都重复发生。用于控制影片剪辑元件的动作主要有:startDrag(开始拖动)、stopDrag(停止拖动)、duplicateMovieClip(复制影片剪辑元件)、removeMovieClip(删除影片剪辑元件)、tellTarget(指定影片剪辑元件)、setProperty(设置属性)等。项目实例7-5:做一个颜色控制器,能够通过滑动杆改变图中小狗的衣服颜色。练习使用startDrag、stopDrag和setProperty动作的使用。操作步骤如下:1. 新建一个Flash文件(ActionScript2.0),尺寸为550px400px,背景颜色为#EBEBF5,并将其另存为“小狗.fla”,并制作三种颜色的滑动条:(1)执行“插入”“新建元件”,创建一个名为“条”的图形元件。(2)创建一个红色的矩形条,颜色为# #FF0000,尺寸为2555像素, x、y轴的位置为0、0,如图7-24所示。 图7-24 矩形条参数设置图 图725 矩形块的参数设置图(3)创建一个名为“块”的影片剪辑元件,创建一个矩形条,颜色为#000000,尺寸为515像素,x、y轴的位置为0、0.如图725所示。(4)创建一个名为“滑动条(红)”的影片剪辑元件。然后从元件库里将“块”和“条”元件拖动的该元件中,“条”元件的位置如图7-26所示,“块”元件的位置如图7-27所示。 图7-26 条元件的位置设置参数 图7-27 “块”元件的位置设置参数(5)按照同样的方法,制作出另外两个影片剪辑元件,滑动条(蓝)和滑动条(绿)。2. 制作小狗剪辑元件(1)导入文件名为“dog.jpg”的图片,执行“文件”“导入” “导入到库”。(2)创建一个影片剪辑元件,取名为“小狗”。(3)然后从“库”面板中将“dog”图片拖动到“小狗”影片剪辑元件中,然后选中“dog”图片,按下Ctrl+B,将图片打散,如图7-28所示。 图7-28 打散后的效果图 图7-29 选中绿色部分的效果图(4)选中“魔术棒”工具,设置魔术棒的阈值为“70”,如图7-30所示,然后点击如图7-29所示的处,选中绿色区域。图7-30 魔术棒的阈值设置(5)执行Ctrl+X,剪切绿色区域,然后创建一个影片剪辑元件,取名为“衣服”,然后将剪切掉的绿色部分粘贴到该影片剪辑元件中。(6)将“衣服”元件拖动到“小狗”元件中,放到适当的位置,其实例名称命名为“衣服”,如图7-29所示。3. 添加脚本(1)分别将影片剪辑元件“小狗”、 “滑动条(红)”、“滑动条(绿)、“滑动条(蓝)”拖动到场景中,放置到如图7-31所示的位置,其实例名称分别名为:“小狗”、hs、ls、bs。图7-31 元件放置到场景中的示意图(2)双击“滑动条(红)”元件,进入编辑状态,选中“块”元件,命名其实例名称为“hk”,如图7-32所示,同样也为“滑动条(蓝)”、“滑动条(绿)”元件中块元件的实例名称命名为hk。(注:不同元件中的实例名
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大同市人民医院注射并发症预防与处理应急考核
- 晋中市人民医院国际10-20系统电极安放考核
- 中国纤维素纤维项目投资计划书
- 中国石油项目创业投资方案
- 中国活性碳项目投资计划书
- 农村水利设施建设可行性分析报告
- 如何利用数据可视化提升学生思维能力
- 小学数学课堂思维训练课题研究方案5范文
- 中国涂料消泡剂项目商业计划书
- 中国羧酸项目商业计划书
- 招合伙人课件
- 差旅费报销标准(2025财政版)
- 高考《数学大合集》专题突破强化训练往年高考抽象函数10题型归纳(原卷版)
- 2025年中国磁力积木行业市场全景分析及前景机遇研判报告
- 2025河北承德市市直事业单位卫生类招聘85人考试参考试题及答案解析
- 医院用消毒剂的配制课件
- 腰大池引流管护理查房
- 国网网络信息安全培训课件
- 《丹青意蕴》第三课《国色新尚》课件 2025-2026学年+人教版(2024)初中美术八年级上册
- 口腔辐射安全培训记录课件
- 跨境资金池管理办法
评论
0/150
提交评论