




免费预览已结束,剩余22页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
FLASH动作脚本基本知识第一讲 动作脚本基本知识一、 动作脚本概念动作脚本就是 Flash MX 为我们提供的各种命令,运算符以及对象,使用动作脚本时必须将其附加在按钮、影片剪辑或者帧上,从而使单击按钮和按下键盘键之类的事件时触发这些脚本。以便实现所需的交互性。学习动作脚本的最佳方法是对其进行实际操作,即使对动作脚本没有完全理解,也不影响对其控制功能的使用,一样能够实现简单的交互性操作,经过一段时间的实践对基本的动作(如 play 和 stop)运用自如,对动作脚本略知一二后,就可以开始学习关于此语言的更多知识了。二 、动作脚本面板当我们为帧,按钮或影片剪辑指定动作时必须使用动作面板,动作面板的结构如示例1.1三、基本动作控制命令1 停止命令格式; stop();说明动作;停止播放头的移动2 播放命令格式;play();说明动作;在时间轴中向前移动播放头。3 转移命令gotoAndPlay(scene, frame)参数scene 播放头将转到的场景的名称。frame 播放头将转到的帧的编号或标签。动作;将播放头转到场景中指定的帧并从该帧开始播放。如果未指定场景,则播放头将转到当前场景中的指定帧。以上三个命令是动作脚本中最常用的基本动作,它们通过对时间轴上播放头的控制实现的特定功能,在对播放头实施控制时一般有多种方法可供选择,但最常用的是在坐标系内部实施控制和在不同坐标系之间实施控制,前者直接使用命令就可以实现目的(见示例1.2和示例1.3),后者则必须使用目标路径才能实现控制功能(见示例1.4和示例1.5)四 按钮使用按钮元件可以在影片中创建响应鼠标点击、滑过或其它动作的交互式按钮。可以定义与各种按钮状态关联的图形,然后指定按钮实例的动作。请参阅为按钮指定动作。在单击或滑过按钮时要让影片执行某个动作。您必须将动作指定给按钮的一个实例;该元件的其它实例不受影响。 当为按钮指定动作时,必须将动作嵌套在 on 处理函数中,并指定触发该动作的鼠标或键盘事件。当在标准模式下为按钮指定动作时,会自动插入 on 处理函数,然后您可从列表中选择一个事件。您也可用动作脚本 Button 对象的事件在发生按钮事件时执行脚本。*注释1:命令中的圆括号(1) 圆括号一般用来放置函数的参数以便传递这些参数,我们所学习的各种命令,也都可以称为函数.例如gotoandplay(2);数字2只有放在圆括号内,才能进行传递(2)表示运算符优先级当在同一语句中使用两个或多个运算符时,一些运算符会优先于其它的运算符。动作脚本按照一个精确的层次来确定首先执行那个运算符。例如,乘法总是先于加法执行;但是,括号中的项目会优先于乘法。因此,如果没有括号,动作脚本会在下面的示例中首先执行乘法: to = 2 + 4 * 3;结果为 14。 但是当加法运算在括号内时,动作脚本会首先执行加法: total = (2 + 4) * 3;结果为 18。 (3) 简化语句例如使用括号评估点语法中点左侧的表达式。例如,在下面的语句中,括号会使 new Color(this) 评估并创建一个新的 Color 对象: onClipEvent(enterFrame) (new Color(this).setRGB(0xffffff);如果不使用括号,则需要添加一个语句来评估该表达式: onClipEvent(enterFrame) myColor = new Color(this);myColor.setRGB(0xffffff);注释2 分号 ; 动作脚本语句是用分号结束的。例如,下面的语句是用分号结束的: _root.getDay();如果省略了结束分号,Flash 仍然能够成功地编译脚本。但是,使用分号是一个很好的脚本撰写习惯。 *小节本章重点:是学会如何使用基本命令和按钮控制影片剪辑1命令可以写在时间轴上2命令可以附加在按钮上3按钮有一些on事件关于动作面板和目标路径大家可以稍作了解,以后我们会在实例中经常讲第二讲 数据一 数据 我们思考一下计算机程序所作的一些事情,财务管理程序能够打印帐单,字处理程序能够输入和编辑文本,视频处理程序能够让我们观看影片和玩各种游戏,等等数不胜数,但所有程序都有一个共同特点;他们都需要处理数据.flash中根据数据的处理方法的不同,对数据进行了分类,他们是;数值类型,字符串类型,布尔类型,对象类型,影片剪辑类型,未定义类型共六种.计算机在处理这些数据的时候,必需使用某种方法存储这些数据,变量就是服务于该目的,所以我们常说变量是保存信息的容器,下面我们先看看几个最常用的数据1 number (数值)类型数值型数据指的是我们常用的数字。可以使用算术运算符加 (+)、减 (-)、乘 (*)、除 (/)、求模 (%)、递增 (+) 和递减 (-) 来处理。也可使用内置的 Math 对象的方法处理数字.使用Number()可以指定数据为数值类型.Number();又叫数值转换函数.Number(.);圆括号中放入要转换为数字的表达式示例2.11a=2;b=10;trace(a-b);trace(math.abs(a-b);c=Number(a)+Number(b);/指定a,b为数值型数据,然后求和2 string(字符串)类型字符串是诸如字母、数字和标点符号等字符的序列。将字符串放在双引号之间,可以在动作脚本语句中输入它们。字符串被当做字符,而不是变量进行处理。使用String()可以指定数据为字符串类型也可以将数值类型的数据转换为字符串型数据.String();又叫字符串转换函数.String(.);圆括号内为要转换为字符串的表达式。如; c=String(a)+String(b); /指定a,b为字符串型数据.然后将a,b连接起来例如,在下面的语句中,L7 是一个字符串: a1 = L7;可以使用加法 (+) 运算符连接 或合并两个字符串。例如a1=mc+2;trace(a1);虽然动作脚本在引用变量、实例名称和帧标签时不区分大小写,但是文本字符串是区分大小写的。例如,下面的两个语句会在指定的文本字段变量中放置不同的文本,这是因为 Hello 和 HELLO 是文本字符串。 invoice.display = Hello;invoice.display = HELLO;要在字符串中包含引号,可以在它前面放置一个反斜杠字符 ()。要换行时加入一个(n)就可以了,这称为字符转义。示例2.12换行和插入 号on (release) dd = 中国老三届是我flash入门的地方,n我的第一个作业是运动的光碟.;trace(dd);3 boolean(布尔)类型布尔值是 true 或 false 。动作脚本也会在需要时将值 true 和 false 转换为 1 和 0。布尔值在进行比较以控制脚本流的动作脚本语句中经常与逻辑运算符一起使用。例如,在下面mc中的脚本中,如果变量 a 为 true,变量b也为true则会播放影片mc: onClipEvent(enterFrame) if (b = true & a= true)play();实例制作-数据观察制作步骤1 选择文本工具在属性栏选输入文本,字号20,颜色黑,在场景中点击构造一个输入文本框,同样的方法再构造一个文本框,并分别在属性面板的变量栏把变量命名为a和b2选择文本工具在属性栏选动态文本,字号,颜色同上,在场景中点击构造一个动态文本框,在属性面板的变量栏把变量命名为为c,3选择文本工具在属性栏选静态文本,在场景中制作+和=,放在两个输入文本之间,其后面放=号,在=后放动态文本框,4在公用库中拖出一个按钮,把它一个放在动态文本后面5在第二帧插入一个关键帧,6点击第一帧,又点击放在动态文本后面的按钮,打开动作面板输入一下脚本on (release) /按下并释放;c=Number(a)+Number(b); /指定a,b为数值类型的数据,执行加运算后存入c中;7点击第二帧,又点击放在动态文本后面的按钮,打开动作面板输入一下脚本on (release) /按下并释放;c = String(a)+String(b); /指定a,b为字符串类型的数据,执行加运算后存入c中;8新建图层2从库中把按钮拖出两次,旁边分别标注数值型和文本型点击选中数值型按钮写on (release) gotoAndStop(1);点击选中文本型按钮写on (release) gotoAndStop(2);至此实例完成.通过本实例我们学会1用动态文本显示数据,用输入文本输入数据2如何指定数据类型3字符串数据加法运算是把数据进行连接,数值类型是求和4复习按钮的goto命令第三讲 关键字和变量一 标识符flash中标识符是用于表示变量、属性、对象、函数或方法的名称。它的第一个字符必须是字母、下划线 (_) 或美元记号 ($)。其后的字符必须是字母、数字、下划线或美元记号。例如,firstName 是一个变量的名称。二 关键字关键字是有特殊含义的保留字。例如,var 是用于声明本地变量的关键字。不能使用关键字作为标识符。例如,var 不是合法的变量名。flash中定义了一些保留关键字,所谓保留关键字就是flash系统已经严格定义了的一类标识符,它们具有固定的含义,不允许再定义或另作它用.flash中的关键字一共有32个,下表列出了所有动作脚本关键字.break case class continue default delete dynamic else extends for function get if implements import in instanceof interface intrinsic new private public return set static switch this typeof var void while with 下面我们先学习两个个关键字if和else1 关键字 if和elseif是用来对条件进行计算并判断其真假的一个关键字,使用if构成所谓的条件语句,它的应用格式为;if(.) mmmelsennn说明圆括号中放入条件,这个条件的计算结果为 true 时就执行大括号中的命令mmm。当这个条件计算结果为false时就执行else后面大括号中的命令nnn,例如if(2+31) /计算并判断2+3的值是否大于1.如果大于1就输出一个true值,gotoandstop(1); /如果判断结果为true, 就执行gotoadstop(1),else /如果判断结果为false,就执行gotandstop(2)gotoandstop(2);程序运行时关键字if首先计算2+3的值,然后判断2+3的值是否大于1,如果大于1则执行花括号中的语句,如果不大于1,则不执行else后面花括号中的语句.在实际应用中else有时被省略,省略后的形式为if(2+31)gotoandstop(1);三 常量1在程序运行过程中,其值保持不变的量叫常量,常量的类型有number,string和boolean型,还有一种用标识符表示的常量叫符号常量.2 数值型常量中国 字符串型常量true 布尔型常量,代表真false 布尔型常量,代表假null 表示空值newline 表示插入一个回车换行符号undefined表示没有被赋值的变量,没赋值的变量可以认为是常量 ,类似于null四 变量变量是保存信息的容器。变量可以存储任何类型的数据:数字、字符串、布尔值、对象和影片剪辑。要使用变量必需首先把变量附加在某个位置上(如时间轴,影片剪辑,函数体中.),给他起一个名字,即命名变量,然后还得使用特定符号对变量进行声明.变量根据其使用范围可以分成全局变量和局部变量,若要测试变量的值,可以使用 trace() 动作,1 命名变量 变量名称必须遵守下面的规则:它必须是标识符。 它不能是关键字或动作脚本文本,例如 true、false、null 或 undefined。它在其范围内必须是唯一的。此外,不应将动作脚本语言中的任何元素用作变量名称;2 声明变量(1) = 声明变量格式 expression1 = expression2参数expression1 变量、数组元素或对象属性。expression2 任何类型的值。 在flash mx中运算符 = 执行赋值操作,判断两个值是否相等使用运算符 = ,示例下面的示例使用赋值运算符将数字数据类型赋予变量 x。x = 5下面的示例使用赋值运算符将字符串数据类型赋予变量 x。x = hello(2) var声明本地变量格式 var varriablenam = m1 .,varriablenam =mi varriablenam 参数给出变量名m1参数给这个声明的变量赋值示例var nam1;/变量被声明但没有赋值var nam2=600;var nam3=abcd,nam4=efg;/同时声明两个字符串变量var mc_a=true;var m,n,i,j=800;/同时声明四个变量,但只有变量j被赋值var x;var y = 1;var z = 3, w = 4;var s, t, u = z;var nam=1,2,3;trace(nam0);trace(nam1);trace(nam2);第四讲 点语法和算术运算符一 点语法在动作脚本中,点 (.) 用于表明与对象或影片剪辑相关联的属性或方法。它还用于标识影片剪辑、变量、函数或对象的目标路径。点语法表达式以对象或影片剪辑的名称开始,后面跟着一个点,最后以要指定的元素结束。 示例1_x 属性表示影片剪辑在舞台上的 x 轴位置。表达式 MC1._x 引用影片剪辑实例 MC1 的 _x 属性。 示例2aa 是 mc11 影片剪辑中设置的变量,此影片剪辑嵌在影片剪辑 mc1 之中。表达式 mc1.mc11.aa = true 将实例 mc11的 aa 变量设置为 true。 表达对象或影片剪辑的方法遵从同样的模式。例如,MC 实例的 play 方法在 MC 的时间轴中移动播放头,如同下面的语句:MC.play();注;flash中方法的概念;方法指的是带有某种动作行为的函数或命令,其特征是在使用时后面加一个圆括号,如stop();点语法还使用两个特殊别名,_root 和 _parent。别名 _root 是指主时间轴。您可以使用 _root 别名创建一个绝对目标路径。例如,下面的语句调用主时间轴上影片剪辑 mc 中的函数 bu: _root.mc.bu();您可以使用别名 _parent 引用当前影片剪辑的父级。也可使用 _parent 创建相对目标路径。例如,如果影片剪辑 mc11 嵌入影片剪辑 mc1 的内部,则写在实例 mc11 的如下语句会指示 mc1 停止: _parent.stop();二 目标路径三 算术运算符算术运算符用来执行(number)数值类型的数据或表达式的算术运算操作,1 + 运算格式 expression1 + expression2参数 expression1、expression2 数字或字符串。将数值表达式相加或者连接(合并)字符串。如果其中一个表达式为字符串,则所有其他表达式都被转换为字符串,然后连接起来。两个表达式都为整数时,和为整数;其中一个或两个表达式为浮点数时,和为浮点数。 示例(1) trace (2 + 3);(2) trace (2.5 + 3.25);(3) a = 1345;b = mc ;trace (a+b);2 - 运算符减运算符用于用于符号反转或减法运算。否定格式 expression(符号反转)减法格式 expression1 - expression2示例(1) -(2 + 3);语句将表达式 2 + 3 的符号反转。结果为 -5。(2) 5 - 2 ; /语句从整数 5 中减去整数 2结果为 3,是一个整数。(3) 3.25 - 1.5 /语句从浮点数 3.25 中减去浮点数 1.5。结果为 1.75,是一个浮点数。3 * 运算将两个数值表达式相乘。格式 expression1 * expression2示例(1) 2 * 3 /结果为 6,是一个整数。(2) 2.0 * 3.1416 /结果为 6.2832,是一个浮点数。4 /运算符格式 expression1 / expression2说明 将 expression1 除以 expression2。示例trace(22.0 / 7.0); /结果为 3.1429,是一个浮点数。5 %按模取余运算格式 expression1 % expression2计算 expression1 除以 expression2 的余数。如果两个 expression 参数中有一个是非数字值,则模运算符尝试将它们转换为数字。expression 可以是数字或转换为数值的字符串。示例下面是一个使用模 (%) 运算符的数字示例。trace (12 % 5);/ returns 2trace (4.3 % 2.1);/ returns approximately 0.1需要注意的是,当被除数取整数,除数取2的时候其余非1即0,这种情况类似于布尔值,有时可用于逻辑控制,是一个很有用的特性.6 +自增量运算格式 +expressionexpression+说明 运算符(算术);将 expression 加 1 的预先递增和滞后递增一元运算符。expression 可以是变量、数组元素或对象属性。此运算符的预先递增格式 (+expression) 将 expression 加 1,然后返回结果。此运算符的滞后递增格式 (expression+) 将 expression 加 1 并返回 expression 的初始值(即加上 1 之前的值)。示例(1)预先递增x = 1;y = +x;(2)滞后递增x = 1;y = x+;(3)x=1;y=+x;trace(x);trace(y);(4)i=1;j=i+;trace(i);trace( j);5 - - 运算格式- -expressionexpression- - 运算符(算术);从 expression 中减 1 的预先递减和滞后递减一元运算符。此运算符的预先递减格式 (-expression) 从 expression 中减去 1,然后返回结果。此运算符的滞后递减格式 (expression-) 从 expression 中减去 1 然后返回 expression 的初始值(即减去 1 之前的值)。示例(1) 预先递减格x = 3;y = - -x;(2)滞后递减格式x = 3; y = x- -(3)i=2;i=i-1;trace(i);(4)j=2;j- -;trace( j);第五讲-赋值运算符和mc的属性中国老三届脚本基础课教材2004.3.25一 赋值运算符1 = 赋值运算格式 expression1 = expression2参数expression1 变量、数组元素或对象属性。expression2 任何类型的值。 说明运算符;将 expression2(位于右侧的参数)的类型赋予 expression1 中的变量、数组元素或属性。示例下面的示例使用赋值运算符将数字数据类型赋予变量 x。x = 21;下面的示例使用赋值运算符将字符串数据类型赋予变量 x。x = hello;2 +=运算格式 ;expression1+=expression2参数;expression1、expression2 数字或字符串。说明运算符(算术组合赋值);将 expression1 + expression2 值赋予 expression1。例如,下面两个语句的结果是相同的:x += y;x = x + y;此运算符也可以执行字符串连接运算。加法运算符 (+) 的所有规则适用于加法赋值 (+=) 运算符。 示例(1)x = 5;y = 10;x += y;trace(x);(2)x = My name is x += Gilberttrace (x)/My name is Gilbert3 -=运算格式;expression1、expression2 数字或计算结果为数字的表达式说明运算符(算术组合赋值);将 expression1 -expression2 的值赋予 expression1。例如,下面两个语句是相同的:x -= y;x = x - y;字符串表达式必须转换为数字,否则返回 NaN。示例(1)x = 5;y = 10;x -= ytrace(x);/-5(2)x = 5;y = 10;x -= y;trace(x);/-5(3)x = a5;y = 10;x -= y;trace(x);/NaN4 *=运算格式;expression1 *=expression2说明运算符(算术组合赋值);将 expression1 *expression2 的值赋予 expression1。例如,下面两个表达式是相同的:x *= yx = x * y示例(1)x = 5;y = 10;trace (x *= y);/50(2)i = 5;x = 4 - 6;y = i + 2;trace(x *= y);/-145 /=运算expression1/=expression2参数;expression1、expression2 数字或计算结果为数字的变量。说明运算符(算术组合赋值);将 expression1/expression2 的值赋予 expression1。例如,下面两个语句是相同的:x /= yx = x / y示例x = 10;y = 2;x /= y;6 %=运算格式;expression1%=expression2说明运算符(算术复合赋值);将 expression1% expression2 的值赋予 expression1。例如,下面两个表达式是相同的:x %= yx = x % y示例x = 14;y = 5;trace(x %= y);/4二 影片剪辑的属性每个影片剪辑在建立时都继承影片剪辑类的所有属性,我们可以在程序中调用和设置这些属性,如果不设置这些属性系统会默认设置这些属性.研究mc的属性应该首先熟悉设置属性和调用属性的两个命令1 setProperty(位于;动作-影片剪辑控制)setProperty(target,property,value/expression)参数target 到要设置其属性的影片剪辑实例名称的路径。property 要设置的属性。value 属性的新文本值。expression 计算结果为属性新值的公式。说明动作;当影片播放时,更改影片剪辑的属性值。 示例当单击按钮时,此语句将名为 star 的影片剪辑的 _alpha 属性设置为 30%:on(release) setProperty(star, _alpha, 30);2 getProperty(位于;函数)getProperty(instancename , property)参数instancename 要获取其属性的影片剪辑的实例名称。property 影片剪辑的属性。说明函数;返回影片剪辑 instancename 的指定 property 的值。示例下面的示例获取影片剪辑 mc1 的水平轴坐标 (_x),并将其分配给变量mymc1x:mymc1x = getProperty(_root.myMovie, _x);本讲重点掌握(1)赋值运算符 += (2)赋值运算符 -= (3)mc属性设置命令setProperty(4)mc属性调用命令getProperty第六讲按钮控制复习第七讲比较运算符与mc属性一 比较运算符1 小于比较(lt)格式;expression1 expression2参数;expression1、expression2 数字或字符串。说明运算符(比较);比较两个表达式以确定 expression1 是否小于 expression2;如果是,则该运算符返回 true。如果 expression1 大于或等于 expression2,则该运算符返回 false。使用字母顺序计算字符串表达式;所有的大写字母排在小写字母的前面。示例下面的示例举例说明数数值比较和字符串比较所返回的 true 和 false。3 10;/ true10 3;/ falseAllen Jack;/ trueJack Allen;/ false11 3;/true11 3;/ falseC abc;/ falsecc=A a;trace(cc);/true1 小于比较(lt) 2 大于比较(gt) 4 =大于等于(ge)5 =相等(eg) 6 !=不相等() 7 =严格相等 8 !=不严格相等二 影片剪辑属性21 透明度 _alpha格式myMovieClip._alpha说明属性;设置或获取由 MovieClip 指定的影片剪辑的 Alpha 透明度 (value)。有效值为 0(完全透明)到 100(完全不透明)。如果影片剪辑的 _alpha 设置为 0,虽然其中的对象不可见,但也是活动的。例如,依然可以点击一个 _alpha 属性设置为 0 的影片剪辑中的按钮。示例下面的语句在点击按钮时,将名为 star 的影片剪辑的 _alpha 属性设置为 30%:on(release) star._alpha = 30; 2 旋转_rotation格式myMovieClip._rotation说明属性;以度为单位指定影片剪辑的旋转。3 可见性_visible格式myMovieClip._visible说明属性;一个布尔值,指示由 MovieClip 参数指定的影片是否可见。不可见的影片剪辑(_visible 属性设置为 false)处于禁用状态。例如,不能点击 _visible 属性设置为 false 的影片剪辑中的按钮。第8讲 逻辑运算与mc属性一 逻辑运算1 逻辑非!(not)格式!expression说明运算符(逻辑);对变量或表达式的布尔值取反。如果 expression 是绝对值或转换值为 true 的变量,则 !expression 的值为 false。如果表达式 x & y 的计算结果为 false,则表达式 !(x & y) 的计算结果为 true。下面的表达式说明使用 ! 运算符的结果:!true 返回 false!false 返回 true2 逻辑与&(snd)格式expression1 & expression2说明对一个或两个表达式的值执行布尔运算。计算 expression1(该运算符左侧的表达式),当此表达式的计算结果为 false 时返回 false。如果 expression1 的计算结果为 true,则计算 expression2(该运算符右侧的表达式)。如果 expression2 的计算结果为 true,则最终结果为 true;否则,为 false。 3 逻辑或|(or)格式expression1 | expression2参数expression1、expression2 布尔值或转换为布尔值的表达式。说明运算符(逻辑);计算 expression1 和 expression2。如果其中任何一个或者两个表达式的计算结果为 true,则结果为 true;只有当两个表达式的计算结果都为 false 时,结果才为 false。逻辑 OR 运算符可用于任意多个操作数;只要任意一个操作数的计算结果为 true,则结果为 true。对于非布尔表达式,逻辑 OR 运算符使得 Flash 对左侧的表达式进行计算;如果左侧的表达式可以转换为 true,则结果为 true。否则,计算右侧的表达式,而且结果就是该表达式的值。二 影片剪辑属性31 影片剪辑宽度 _width格式myMovieClip._width说明以像素为单位设置和获取影片剪辑的宽度。2 影片剪辑高度 _height格式myMovieClip._height说明以像素为单位设置和获取影片剪辑的高度。3 _x缩放系数 _xscale格式myMovieClip._xscale4 _y缩放系数格式myMovieClip._yscale说明xscale和_yscale的值代表了相对于库中原影片剪辑的横向尺寸width和纵向尺寸height的百分比,100为影片剪辑在编辑时的大小,大于100时起放大作用,在0-100之间时起缩小作用,小于0时发生翻转.第9讲 影片剪辑事件与拖动一 OnclipEvet前面我们主要练习了把命令写在时间轴的关键帧上和按钮上,其实我们还可以把命令写在影片剪辑上,我们知道命令写在按钮上的时候,必需首先写on事件例如;on(press).或者on(release).等等,用来表示鼠标在按钮上发生的动作,同样的道理当我们把命令写在影片剪辑上的时候必需首先写OnclipEvet.事件处理函数OnclipEvet与on命令十分类似,不同的是on事件设置的是鼠标或键盘事件,而OnclipEvet命令设置的是影片剪辑事件,它只能附加在影片剪辑上面,不能写在帧或按钮元件上.OnclipEvet的事件有九重,他们是(1) load 当movieclip被下载到当前场景的时间轴上时触发load事件.(2) unload 事件在当前场景的时间轴上,当movieclip被卸载时触发unload事件,在卸载后第一帧执行OnclipEvet命令设定的操作(3) enterFrame 以影片帧频不断地触发此动作。(4) mouseMove 每次移动鼠标时启动此动作。_xmouse 和 _ymouse 属性用于确定当前鼠标位置。(5) mouseDown 当按下鼠标左键时启动此动作。(6) mouseUp 当释放鼠标左键时启动此动作。(7) keyDown 当按下某个键时启动此动作。使用 Key.getCode(); 方法获取最近按下的键的有关信息。(8) keyUp 当释放某个键时启动此动作。使用 Key.getCode() 方法获取最近按下的键的有关信息。 (9) data 当在 loadVariables 或 loadMovie 动作中接收数据时启动此动作。当与 loadVariables 动作一起指定时,data 事件只发生一次,即加载最后一个变量时。当与 loadMovie 动作一起指定时,获取数据的每一部分时,data 事件都重复发生。二拖动命令1 startDrag 格式startDrag(target,lock ,left ,top ,right,bottom)参数target 要拖动的影片剪辑的目标路径。 lock 一个布尔值,指定可拖动影片剪辑是锁定到鼠标位置中央 (true),还是锁定到用户首次点击该影片剪辑的位置上 (false)。此参数是可选的。left、top、right、bottom 相对于影片剪辑父级坐标的值,这些坐标指定该影片剪辑的约束矩形。这些参数是可选的。返回无。说明动作;使 target 影片剪辑在影片播放过程中可拖动。一次只能拖动一个影片剪辑。执行 startDrag 动作后,影片剪辑将保持可拖动状态,直到被 stopDrag 动作明确停止为止,或者直到为其他影片剪辑调用了 startDrag 动作为止。示例1若要拖动放在任何位置的影片剪辑,可将 startDrag 和 stopDrag 动作附加到该影片剪辑内的某个按钮上。on(press) startDrag(this,true);on(release) stopDrag();第10讲 鼠标一 捕获鼠标的坐标我们可以用两种方法捕获鼠标的坐标,其一是用影片剪辑的_xmouse和_ymouse属性,是最常用的方法,其二是对影片剪辑设置跟随,获取该影片剪辑的坐标用来替代鼠标的坐标.获取鼠标坐标的脚本可以写在时间轴上也可以写在影片剪辑上,下面我们使用影片剪辑的enterFrame()和mouseMove事件来做实验1 影片剪辑的mouseMove事件onClipEvent (mouseMove) _root.my_xmouse = _xmouse;_root.my_ymouse = _ymouse;2 影片剪辑的enterFrame事件onClipEvent (enterFrame) _root.a=_root._xmouse;_root.b=_root._ymouse;3 设置跟随测试mc坐标替代鼠标坐标onClipEvent (enterFrame) startDrag(_root.mc, true);_root.a=getProperty(_root.mc,_x);_root.b=getProperty(_root.mc,_y);二 鼠标隐藏与替换1 隐藏命令hide与显示命令 show 格式Mouse.hide()说明方法;隐藏影片中的光标。默认情况下,光标可见。使用Mouse.show()可以把隐藏的鼠标显示出来.示例下列附加到主时间轴上的影片剪辑上的代码会隐藏标准光标,并将 mc 影片剪辑实例的 x 和 y 位置设置为主时间轴中的 x 和 y 鼠标位置。这种方法可以省去设置鼠标拖动命令的替换onClipEvent(enterFrame)Mouse.hide();_root.mc._x = _root._xmouse;_root.mc._y = _root._ymouse;第十一讲 复制与mc的颜色设置一 复制duplicateMovieClip1 duplicateMovieClip格式duplicateMovieClip(target, newname,depth)参数 target 要复制的影片剪辑的目标路径。newname 复制的影片剪辑的唯一标识符。depth 复制的影片剪辑的唯一深度级别。深度级别是复制的影片剪辑的堆叠顺序。这种堆叠顺序很像时间轴中图层的堆叠顺序;较低深度级别的影片剪辑隐藏在较高堆叠顺序的剪辑之下。必须为每个复制的影片剪辑分配一个唯一的深度级别,以防止它替换现有深度上的影片。说明动作;当影片正在播放时,创建一个影片剪辑的实例。无论播放头在原始影片剪辑(或“父级”)中处于什么位置,复制的影片剪辑的播放头始终从第一帧开始。父影片剪辑中的变量不拷贝到复制的影片剪辑中。如果删除父影片剪辑,则复制的影片剪辑也被删除。使用 removeMovieClip 动作或方法可以删除由 duplicateMovieClip 创建的影片剪辑实例。示例1;当用按钮设置变量kk为1时,复制15次mc, 源文件见命令写在帧上复制i+;if(_root.kk=1)duplicateMovieClip(_root.mc,mc+i,i);mx=getProperty(mc+i,_x);my=getProperty(mc+i,_y);setProperty(mc+i,_x,mx+i*35);setProperty(mc+i,_y,my);set(mc+i+.a,i);if(i=15)i=0;示例2 源文件见命令写在按钮上复制按钮1on (release) i+;if(i10)i=0;k = 0;duplicateMovieClip(mc, mc+i, i);mx = getProperty(mc+i, _x);my = getProperty(mc+i, _y);setProperty(mc+i, _x, mx+i*50);setProperty(mc+i, _y, my);set(mc+i+.a, i);按钮2on (release) k+;if(k10)k=0;i = 0;duplicateMovieClip(mc, mc+k, k);mx = getProperty(mc+k, _x);my = getProperty(mc+k, _y);setProperty(mc+k, _x, mx+k*50);setProperty(mc+k, _y, my+k*50);set(mc+k+.a, k);按钮3on (release) j+;removeMovieClip(mc+j);if(j10)j=0;二 color对象使用color(颜色)对象可以自由设置影片剪辑的颜色属性,在flash中颜色的值使用红绿兰三原色的值组合起来表示,格式为0xrrggbb其中rrggbb表示红绿兰,分别用十六进制数表示,取值范围为0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f.例如黑色0x000000白色0xffffff红色0xff0000绿色0x00ff00蓝色0x0000ff黄色0xffff001 构造color对象格式new Color(target)参数 target 影片剪辑的实例名称。说明构造函数;为由 target 参数指定的影片剪辑创建 Color 对象的实例。然后可使用该 Color 对象的方法来更改整个目标影片剪辑的颜色。 2用setRGB设置颜色对象myColor.setRGB(0xRRGGBB)参数 0xRRGGBB 要设置的十六进制或 RGB 颜色。对于 RR、GG 和 BB,每种代码由两个十六进制数字组成,这些数字指定每种颜色成分的偏移量。0x 告知动作脚本编译器该数字是十六进制数值。说明方法;指定 Color 对象实例的 RGB 颜色。示例1下面的示例为影片剪辑 mc 创建一个名为 myColor 的 Color 对象实例,并设置其 RGB 值:myColor = new Color(mc);myColor.setRGB(0xff9933);示例2 源文件见2颜色设置帧1foo = 0;帧2foo+; _root.mc.play(); duplicateMovieClip(_root.flower, mc + foo, foo);setProperty(mc + foo, _x, random(350);setProperty(mc + foo, _y, random(300);setProperty(mc + foo, _alpha, random(275);setProperty(mc + foo, _xscale, random(200);setProperty(mc + foo, _yscale, random(200);col = random(0xafafaf+0x999999);mycolor = new Color(mc+foo);mycolor.setRGB(col);帧3if(foo100)gotoAndP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工作职责如何体现个人价值
- 地产销售渠道规划
- 2025云南省临沧市镇康县实验中学自主公开招聘教师(15人)笔试备考试题及答案解析
- 农田土地资源的整合与利用
- 2025新疆和田中汇典当有限责任公司岗位社会化招聘3人笔试历年参考题库附带答案详解
- 煤矿人员紧急救援预案
- 2025天津港(集团)有限公司选聘资产评估专家15人笔试历年参考题库附带答案详解
- Web服务投入产出分析报告
- 2025年事业单位工勤技能-广西-广西药剂员一级(高级技师)历年参考题库含答案解析
- 2025年事业单位笔试-江苏-江苏病案信息技术(医疗招聘)历年参考题库含答案解析
- 蒙克《呐喊》赏析
- 绝经前后诸证(中医妇科学)
- 甲状腺癌健康宣传知识课件
- 铁路交通事故调查处理-铁路交通事故
- 花海的设计方案
- 作文提纲课件
- 静设备安装质量控制过程
- 智慧养殖物联网解决方案
- 个人借款协议书范文:免修版模板范本
- 孙燕姿所有歌曲歌词大全(11张专辑)
- 《欧姆定律》 单元作业设计
评论
0/150
提交评论