FLASH脚本6

来源:互联网 发布:网络语咸鱼是什么意思 编辑:程序博客网 时间:2024/05/16 16:10
6、FLASH脚本-影片剪辑的属性、再讲循环语句、影片剪辑处理函数   十六、影片剪辑的属性
通过本课的学习了解影片剪辑的主要属性,学会设置和获取影片剪辑的属性的方法。
知识点:
(1)影片剪辑的常用属性
(2)用点语法设置和获取影片剪辑的属性
(3)用 setProperty()和 getProperty()函数动态设置和获取影片剪辑属性
(4)用数组运算符[]动态设置和获取影片剪辑属性
影片剪辑的属性
[attach]1534[/attach]
[attach]1535[/attach]
我们已经知道影片剪辑的一些属性可以通过属性面板,信息面板,变形面板,来设置,在
这一课中我们将深入学习在 AS 语言是怎样描述影片剪辑的属性的、 怎样用程序来设置和获
取影片剪辑的属性。下面列出了影片剪辑常用属性用点语法设置和获取影片剪辑的属性
对于大多数影片剪辑的属性既可以设置,又可以获取,比如坐标、旋转度,透明度等。 这
里我们通过下面的例子来学习用点语法设置和获取影片剪辑的属性。
用点语法设置影片剪辑属性1.命名实例名和变量名
(1)打开素材,进入到花元件中,选中“花 1”影片剪辑元件,在属性面板里输入实例名
称: “mc1” 。在场影中,选中“花”影片剪辑元件,在属性面板里输入实例名称:“mc” 。
(2)在场景中创建一个动态文本,并在属性面板里输入变里名: “txt”.
2.写代码(场景中的按钮从上到下依次叫按纽 1~按钮 6)
按钮 1 上的代码:
on (release) {
_root.mc.mc1._xscale += 10;
_root.mc.mc1._yscale += 10;
_root.txt = "放缩度:"+_root.mc.mc1._xscale;
}
按钮 2 上的代码:
on (release) {
_root.mc.mc1._xscale-= 10;
_root.mc.mc1._yscale-= 10;
_root.txt="放缩度:"+_root.mc.mc1._xscale
}
按钮 3 上的代码:
on (release) {
_root.mc.mc1._rotation += 2;
_root.txt ="旋转度:"+ _root.mc.mc1._rotation;
}
按纽 4 上的代码:
on (release) {
_root.mc.mc1._rotation-= 2;
_root.txt = "旋转度:"+ _root.mc.mc1._rotation;
}
按纽 5 上的代码:
on (release) {
_root.mc.mc1._alpha -= 5;
_root.txt ="透明度:"+ _root.mc.mc1._alpha;
}
按纽 6 上的代码:
on (release) {
_root.mc.mc1._xscale = 100;
_root.mc.mc1._yscale = 100;
_root.mc.mc1._rotation = 0;
_root.mc.mc1._alpha = 100;
_root.txt="还原"
}
在上例中我们学习了点运算符设置和获取影片剪辑的属性, 但点运算符不能动态的设置影片
剪辑的属性。这一课中我们将学习动态的设置影片剪辑的属性。
setProperty()//设置电影片断在屏幕中的属性。
脚本位置:全属函数|影片剪辑控制|setProperty
语法格式:setProperty (target:Object, property:Object, expression:Object) : Void
功能:当影片播放时更改影片剪辑的属性。
参数:
◆ target:Object — 要设置其属性的影片剪辑的实例名称的路径。
◆ Property:Object—要设置的属性。
◆ Expression:Object — 或者是属性的新的字面值,或者是计算结果为属性新值的等式。
点击:全属函数|影片剪辑控制|setProperty后,
◆ 目标—要设置其属性的影片剪辑的实例名称的路径。
◆ 属性—要设置的属性
◆ 值—或者是属性的新的字面值,或者是计算结果为属性新值的等式。
getProperty()函数
我们已经知道 setProperty()函数可以设置影片剪辑的属性但它没有返回值
例如:例如在舞台上创建两个影片剪辑,实例名为: “mc1” 、 “mc2”水平中齐。在第
一帧写入代码:
mc1._x = 275;
trace(mc1._x);//275
setProperty(mc2, _x, 275);
trace(setProperty(mc2, _x, 275));//undefined
flash给我们提供了动态获取影片剪辑属性的函数 getProperty()。
脚本位置:全属函数|影片剪辑控制|getProperty
语法格式:getProperty(my_mc:Object, property:Object) : Object
功能:返回影片剪辑 my_mc 的指定属性的值。
参数:
◆ my_mc:String — 要检索其属性的影片剪辑的实例名称。
◆ property — 影片剪辑的一个属性。
返回:Object— 指定属性的值。
点击,全属函数|影片剪辑控制|getProperty后
此对话本框中参数能选项如下所述。
目标—要检索其属性的影片剪辑的实例名称。
属性—指定属性的值。
设置和获取影片剪辑的属性
(1) 在舞台任意绘制一个图形,转化为影片剪辑元件,注册点居中。在属性面板中设置实
例名为“a_mc”
(2) 复制一个影片剪辑实例,把复制的这个实例用任意变形工具任意改变它的高和宽。并
在属性面板里设置实例名为“b_mc” 。
(3) 建立一个按钮,选中按钮,打开“动作”面板,写入代码:
on (release) {
setProperty("b_mc", _width, getProperty("a_mc", _width));
setProperty("b_mc", _height, getProperty("a_mc", _height));
setProperty("b_mc", _x, getProperty("a_mc", _x)+200);
setProperty("b_mc", _y, getProperty("a_mc", _y));
}
测试影片,点击按钮后,两个实例完全一样。
在这个实例中是静态地设置和获敢影片剪辑属性的,下面我们来练习动态设置属性。
使用 setProperty()函数批量更改影片剪辑属性
下图是实效果中的一个面画制作步骤
(1) 新建 flash文档,文档大小:600×400,其它默认。
(2) 在舞台上绘制一个直径为 60 的正圆,转化为影片剪辑元件,注册点居中。
(3) 复制 4 个影片剪辑实例, 在属性面板里分别设置实例名称为 “qiu1” 、“qiu2” 、
“qiu3” 、 “qiu4” 、 “qiu5” 。把 5 个影片剪辑实例拖入到舞台外。
(4) 在舞台上建立两个按钮元件。分别选中按钮,打开动作面板,写入代码:
on (release) {
i<5 ? i++ : i=1;
setProperty("qiu"+i, _x, 100*i);
setProperty("qiu"+i, _y, 180);
setProperty("qiu"+i, _alpha, 100-(i-1)*20);
}
on (release) {
i<5 ? i++ : i=1;
setProperty("qiu"+i, _x, 100*i);
setProperty("qiu"+i, _y, 2/3*100*i);
setProperty("qiu"+i, _alpha, 100-(i-1)*20);
}
在场景第 1帧输入代码:
var i=0
测试影片,观看效果。
分析: 在第 1 帧上初始变量值为 i=0,当第一次点击按钮时, i++的值为 1, 第二次点击时 i++
的值为 2,……
所以,_alpha 的值 100-(i-1)*20 依次为:100、80、60、40、20。
_x 的值 100*i 依次为:100、200、300、400、500。
纵坐标_y 的算法:场景大小为 600×400,坐标原点(0,0)在左上角,所以对角线的斜率
为:400/600=2/3,对角线方程为:y=2/3x,因为横坐标_x 为:100*i,所以纵坐标_y的值设置
为:100*i*2/3。
在这个实例中,我们用点运算符分别来设置小球的属性还不算太困难,要是有 100 个影片
剪辑实例呢?那你要写多少代码。所以掌握动态设置影片剪辑属性的方法很有必要。 在以后
我们学习到复制命令、条件、循环后会更有体会的。
动态路径
影片剪辑一般可以通过手工创建,通过“属性”面板设定影片剪辑的实例名称,通过实例名
称和路径可以访问不同层次的影片剪辑实例。但有的影片剪辑实例是通过程序创建的,例如
通过复制函数可以复制出若干的新影片剪辑实例, 它们的实例名也是在程序中指定的。要访
问这些复制出来的影片剪辑,最好的方法是用动态路径。
动态路径是利用数组运算符来实现的

我们可以使用动态路径来访问"qiu"+i
_root["qiu"+i]
也可以使用 this 来指定
this["qiu"+i]
注意:动态路径使用数组运算符 “ [] ” 实现,路径同实例名之间没有点运算符。
说明:使用动态路径可以批量实现路径.假如场景中有影片剪辑实例 mc1,mc2…mc100 假如
用绝对路径要写 100 行程序,用动态路径非常方便,因为这些实例名有一定的规律,开头
的字母都是一个的,都是 mc,后面的数字可以用一个变量 n来表示,因为变量是可以变化
的,表不如下:
_root[“mc”+i]
如果有多重路径,如要访问主场景下的 mcA下的 mc1 到 mc100,可以这样来表示:
_root.mcA["mc"+i]
又如要访问"mc"+i 中的变量 txt,可以这样来表示:
_root["mc"+i+".txt"]
利用动态路径批量更改影片剪辑的属性。 。
(1) 打开源文件。
(2) 进入 qiu1 的编辑场影中,插入“图层 2”在此图层上建立一个动态文本,在属性面板
里输入变量名 txt。
因为另外四个影片剪辑实例是由 qiu1 复制的,所以每个影片剪辑实例中都有了动态文本。
(3) 把两个按钮上的代码分别改为:
on (release) {
i<5 ? i++ : i=1;
_root["qiu"+i]._x = 100*i;
_root["qiu"+i]._y = 180;
_root["qiu"+i+".txt"] = "qiu"+i;
}
on (release) {
i <5 ? i++ : i=1;
_root["qiu"+i]._alpha = 100-(i-1)*20;
_root["qiu"+i]._x = 100*i;
_root["qiu"+i]._y = 2/3*100*i;
_root["qiu"+i+".txt"] = "qiu"+i;
}
测试影片,
说明:动态路径在实际编程中运用非常广泛,它大大提高了编程的效率。有关动态路径更多
应用将在后面的章节里讲解。
       十七、再讲循环语句
掌握 if 语句、if-else语句、else if 语句的语法格式及其功能。
一个程序都是由若干个基本结构组成,每个基本结构包含一个或多个语句。 程序有三种基本
结构,顺序结构、选择结构、循环结构。
在实际运用中,往往有一些需要根据条件来判断结果的问题,条件成立是一种结果,条件不
成立又是一种结果。像这样比较复杂的问题就必须用选择结构来解决。
在选择结构程序中,有一个条件,当条件为真时,执行一段代码,否则的话,执行另一段
代码,所以选择结构的程序的特点是只能执行两段代码中的一段。
在这一课中我们将继续学习条件语句。
if 语句
脚本位置: 语句|条件/循环|if 语句
语法格式:
if(条件) { //小括号里的条件是一个计算结果为 true 或 false 的表达式。
这里是当条件计算为 true时执行的指令
}
功能:其中,if是表示条件语句的关键词,注意字母是小写,这个 if语句的功能是 if后面
小括号里面的条
件只能有两种结果:真(true)或假(false)。只有当条件为真时才执行大括号中的程序,如
果条件为假,
将跳过大括号中的程序,执行下面的语句。if语句执行过程如图参数:condition:Boolean—计算结果为 true 或 false 的表达式。
if 语句执行过程(1)如图所示,在舞台上建立一个输入文本,三个动态文本, (按照图中从上到下的顺序
排列), 按照这个顺序依次分别输入变里名:“a_txt”、“b_txt”、“c_txt”、“d_txt”。
(2)插入“图层 2” ,在“图层 2”上建立两个按纽实例(计算按钮和清空按纽)。
(3)选中计算按钮,打开动作面板,输入下面代码:
on (release) {
var k = Number(a_txt);
b_txt = (k%3 == 0);
if (k%3 == 0) {
c_txt = "a 能被3 整除";
}
d_txt = "这里显示的是花括号后面的语句";
}
(4)选中清空按钮,打开动作面板,输入下面代码:
on (release) {
a_txt = "";
b_txt = "";
c_txt = "";
d_txt = "";
}
(5)测试影片,在输入文本时输入数字。点击计算按钮,可以看到当条件为真时执行大括
号内的语句,当条件为假时跳过大括号执行大括号外的语句。
条件语句中的条件
(1)条件语句中的条件可以非常简单,一个变量也可以作为一个条件,如果变量有一个确
定的值,它返回的结果是真,如:
var 我的名字 = "雷克斯 de眼泪";
if (我的名字) {
trace(我的名字);
}
(2)条件语句中的条件还可以是一个赋值表达式。如:
var 我的名字 = "雷克斯 de眼泪";
if (我的名字=="雷克斯 de眼泪") {
trace(我的名字);
}
(3)if 名句中的条件可以是多个的,要用逻辑运算符进行连接,这时 flash 将进行判断,
计算最后的结果是真还是假,如:
var 用户名 = "雷克斯 de眼泪";
var 用户密码 = "123";
if (用户名 == "雷克斯 de眼泪" && 用户密码 == "123") {
trace("用户名和密码正确");
}
在这段代码中,if 中的条件有两个,用&&运算符来连接,代表两个条件都为真时才执行语
句中大括号内的代码。
总结: 由此可见, 条件的类型一般为逻辑表达式和关系表达式, 但也可以是任意的数据
类型。 这时 flash将按真处理。
if-else 语句
if-else 语句的一般形式为:
if (条件){
//程序 1,条件为真时执行的程序
} else {
//程序 2,条件为假时执行的程序
}
功能:当条件成立时执行程序 1,当条件不成立时执行程序 2,这两个程序只选择一个执行
后,就执行下面的程序。if-else 语句执行的过程如图if-else 语句执行的过程
(1) 如图所示,在舞台上建立一个输入文本, 在属性面板里设置变量名为 “a_txt” , 再建
立三个动态文本,变量名分别为“b_txt” 、 “c_txt” 、 “d_txt” 。(2) 插入新图层,在此图层上建立两个按钮实例,用于计算和清空。
(3) 单击“清空”按钮上的代码:
on (release) {
a_txt = "";
b_txt = "";
c_txt = "";
d_txt = "";
}
计算按钮上的代码:
on (release) {
var k = Number(a_txt);
b_txt = (k%3 == 0);
if (k%3 == 0) {
c_txt = "a 能被3 整除";
} else {
d_txt = "a 不能被 3整除";
}
}
(4) 测试影片, 在输入文本时输入数字。 点击计算按钮, 可以看到当条件为真时执行程序 1,
当条件为假时执行程序 2。
小课件 100以内的加法运算
课件效果
本例是一个测试 100 以内的两个整数加法运算的填空题课件,运行课件时,单击“请出题”
按钮,随机显示两个加数,填好答案后,单击“查成绩”按钮,即可判断答题是否正确。制作步骤
1.新建一个 flash文档,文档属性保持默认设置。
2.新建一个名为“填空题”的影片剪辑元件,将“图层 1”更名为“背景和标题” ,然后
在此图层上创建背景和标题。
3.新建一个名为“动态文本”的图层,在这个图层上,创建 4 个动态文本框,在属性面板
里设置好文本属性,并输入分别输入实例名a、b、c、d。(其中a、b 用来显示两个加数,c
用来显示和,d 用来显示反馈)按照它的们的功能,安排好位置。再用静态文本输入“+”
号和“=”号。
4.新建一个名为“按钮”的图层,在此图层中,创建两个按钮实例,一个用来出题,一个
用来查成绩。
5.给按钮添加代码:
出题按钮上的代码:
on (press) {
a = random(100);
b = random(100);
c = "";
d = "";
}
查成绩按钮上的代码:
on (press) {
if (Number(a)+Number(b) == Number(c)) {
d = "答对了!";
} else {
d = "答错了!";
}
}
6.回到场景,从库里提出名为“填空题”的影片剪辑元件,居中对齐。测试影片。
else if 语句
脚本位置:ActionScript 语言元素 > 语句 > else if 语句
语法格式:
if(条件 1) {
程序 1;
} else if(条件 2) {
程序 2;

} else if(条件 s) {
程序 (s);
}
功能:else if 语句是这样执行的:进行条件 1 的判断,如果条件 1 为真执行程序 1,如果
条件 1 为假则跳过程序 1,进行条件 2 的判断,其它依此类推。
心心相印
心脏每时每刻都在不停的跳动, 我们利用变量的递增递减及条件语句可以实现这个效果。当
数字增大时心脏变大,当数字减小时心脏变小。
制作步骤:
(1) 新建一个 FLASH 文档,大小默认。
(2) 新建一个名为“跳动的心”的影片剪辑元件,在其编辑区绘制一个心脏。
(3) 把心脏转化为影片剪辑元件,注册点在图形的中心。在属性面板中设置心脏的实例名
为: “heart” 。
(4) 建立一个名为 AS 的层,单击第一帧,打开动作面板,输入下列代码:
var i = 1;
var j = 8;
var con = true;
在 AS 层的第 2 帧插入空白关键帧,在其动作面板中输入下列代码 :
heart._xscale = heart._yscale=i+100;
if (con) {
i++;
} else {
i--;
}
if (i == 1) {
con = true;
} else if (i == j) {
con = false;
}
在 AS 层的第 3 帧插入空白关键帧,在其动作面板中输入下列代码 :
gotoAndPlay(2);
(5) 返回主主场景,把库里的跳动的心提进主场景,可以看到心脏在不停的跳动。
       十八、影片剪辑处理函数
[attach]1536[/attach]
在前面我们学习了帧 Script 和按钮 Script,我们注意到帧 Script 的执行是由时间决定
的,如果时间停 止了,则帧 Script 就不会执行了,而按钮则不同,按钮 Script 是基于事
件的,它只和其驱动函数 on(...)中
的事件有关,影片剪辑和按钮一样也支持事件驱动,它的驱动函数为 onClipEvent (...);通常
叫做影片剪辑的事件处理函数,其中的事件分为影片播放(load,enterframe,data 等)和用户反
应(mouseDown,keyDown 等)两类,另外影片剪辑拥有独立的时间轴,其关键帧上也可以加
入帧 Script,所以影片剪辑的控制功能十分强大。
onClipEvent 处理函数
? 脚本位置: 全局函数|影片剪辑控制|onClipEvent 处理函数
? 语法格式:在 FLASH 中使用 onClipEvent 命令来根据影片剪辑的状态触发动作,
onClipEvent 通常使用以下的格式
onClipEvent(事件名称) {
// 程序
}
? 功能:触发为特定影片剪辑实例定义的动作。
? 参数:movieEvent:Object - movieEvent 是一个称为事件的触发器。当事件发生时,执行
该事件后面大括号 ({}) 中的语句。可以为 movieEvent 参数指定下面的任一值:
事件的触发器常见的取值如下:编写程序时,Flash 会自动提示 onClipEvent ()的事件名称,在一个影片剪辑的“动作”面
板中输入 onClipEvent 时会自动弹出事件列表
Load 事件
load事件在影片剪辑完全加载到内存中时发生。在每次播放 Flash影片时,每个影片剪辑的
load事件只发生一次。
认识 load事件
(1) 在场景中建立一个影片剪辑实例,选中实例,打开“动作”面板,输入下列代码:
onClipEvent (load) {
trace("发生 load事件");
}
(2) 测试影片,在“输出”面板中看到的输出信息只有一次。
(3) 返回主场景,在第二帧插入一帧,测试影片,虽然帧不断循环播放,但输出信息也只
有一次。
(4) 返回主场景,在第二帧插入一空白关键帧,让其循环播放。测试影片,将不断的输出
信息。
说明:通过测试可以看出,当影片剪辑出现在时间轴上时,load事件发生,当实例在时间轴
上消失时又重新出现时,也会发生 load事件。Load 事件通常用来声明初始化变量,当影片
一出现时就会加载这些变量,其它程序就可以调用这些变量。
Unload 事件
Unload 与 load 事件刚好相反,当影片剪辑实例在时间轴在消失时才会发生。
对比 load事件和 unload 事件,在上面实例的基础上,执行下列操作。
(1) 打开影片剪辑的实例面板,把代码改为:
onClipEvent (load) {
trace("发生 load事件");
}
onClipEvent (unload) {
trace("发生 unload事件");
}
(2)移出第二帧上的空白关键帧,在第 20 帧插入帧,第 21 帧插入空白关键帧。第 40
帧插入帧。
测试影片,观看输出信息。间隔地发生 load事件和 unload事件
enterFrame 事件
在主时间轴停止播放时,影片中的影片剪辑并不会停止播放,这个特性决定了影片剪辑的另
一个事件 enterFrame的重要性。enterFrame事件是以影片剪辑帧频不断触发的动作。且触发
的频率与 Flash影片的帧
频一致。enterFrame 事件首先处理与 enterFrame 影片剪辑事件关联的动作,然后才处理附
加到受影响帧的所有动作。
enterFrame 事件其实是一个不断执行的程序,执行的速度取决于帧频。Flash 中默认的帧频
是 12fps,表示播放 12 帧需要一秒的时间,利用这个原理可以制作一个简单的计时器。
enterFrame事件制作计时器
制作:
(1) 在舞台上建立两个动态文本,并在属性面板里设置变量名为: “a_txt” 、 “b_txt” 。
在第 2 帧插入帧
(2) 插“图层 2” ,在此图层上用静态文本输入文字: “简单记时器” ,然后转化为影
片剪辑元件。在第 2 帧插图入关键帧。
(3) 选中此实例,打开“动作”面板,输入下列代码:
onClipEvent (load) {
_root.stop();
var i = 0;
}
//当影片载入时初始变量 i
onClipEvent (enterFrame) {
i++;
//影片进入帧时,程序每执行一次,i 加1
_root.a_txt = i;
//场景中的动态文本显示 i 的值
_root.b_txt = Math.round(i/12*100)/100;
//把 i 除以帧频,使 enterFrame每执行一次得到所需时间,并保留两位数
}
(4)插入“图层 3”在“图层 3”建立三个按钮实例,分别用作“计算” 、 “停止” 、
清除
(5)分别选中两个按钮,打开“动作”面板,输入下列代码:
计算按钮上的代码:
on (press) {
gotoAndStop(2);
}
停止按钮上的代码:
on (press) {
gotoAndStop(1);
}
清除按钮上的代码:
on (press) {
i = 0;
a_txt = "";
b_txt = "";
}
(5)插入“图层 4”在“图层 4“的第1 帧添加代码:
stop();
测试影片。
通过这个实例我们可以看到:enterFrame 事件是以影片剪辑帧频不断触发的动作。且触发
的频率与 Flash影片的帧频一致。
mouseDown 事件:每次移动鼠标时启动此动作。 _xmouse 和_ymouse 属性用于确定当前鼠
标位置。
mouseMove 事件:当按下鼠标左键时启动此动作
mouseUp 事件:释放鼠标左键时启动此动作
对于这三个鼠标响应事件,要与按钮中的鼠标事件区别,前者在影片的任何位置都能触发事
件,后者一定要单击按钮区域才会触发事件。
鼠标行为控制小球
制作步骤:
(1)新建一个影片剪辑“元件 1” ,在其编辑区中给制一个小球,用放射状填充,填充色
为#FBFBFB、#070707,居中对齐,然后把绘制好的小球转换为影片剪辑“元件 2” 。
(2)选中元件 1 中的“元件 2” ,打开动作面板,添加代码:
onClipEvent (load) {
kk = false;
}
onClipEvent (mouseDown) {
kk = true;
}
onClipEvent (mouseUp) {
kk = false;
}
onClipEvent (enterFrame) {
if (kk) {
_x += (this._parent._xmouse+_x)/20;
_y += (this._parent._ymouse+_y)/20;
} else if (kk == false) {
_x += (this._parent._xmouse-_x)/20;
_y += (this._parent._ymouse-_y)/20;
}
}
(3)把“元件”1 提到场景,用任意变形工具把小球的注册点移到垂直下移到小球外,再
用变形面板,设置旋转 60 度,点击复制并应用变形按钮 5 次,复制出 5 个小球,此时 6
个小球排成一排
(4) 在属性面板里分别改变小球的颜色。
(5) 测试影片。鼠标移动,按下,释放观看效果。
制作简单的 Flash涂鸦板
(1) 新建一个影片剪辑元件。返回主场景,打开“库”面板,从“库”面板中拖出影片剪
辑,创建一个空影片剪辑实例。
(2) 选中场景中的空影片剪辑实例,打开“动作”面板,输入下面代码:
onClipEvent (mouseMove) {
if (myDraw) {
_root.lineStyle(5, 0xFF0000, 100);
_root.lineTo(_root._xmouse, _root._ymouse);
}
}
//当鼠标移动时,沿鼠标位置不断画线
onClipEvent (mouseDown) {
myDraw= true;
_root.moveTo(_root._xmouse, _root._ymouse);
}
//鼠标按下时 myDraw为真,并在鼠标位置定义画线的起点
onClipEvent (mouseUp) {
myDraw = false;
}
//当鼠标释放时,myDraw为假,停止画线
(3) 在舞台上创建一个按钮,在按钮上添加代码 :
on (press) {
clear()//删除所画线
}
提示:使用 moveTo()和 lineTo()函数时只需在函数中加入参数,如 moveTo(x1,y1)代
表从点(x1,y1)
处开始画线,lineTo(x2,y2)代表画线的终点是((x2,y2)。使用这两个函数之前必顺先用
lineStyle()函数定
义线的式样。
moveTo()功能:将当前绘画位置移动到 (x, y)。如果缺少任何一个参数,则此方法将失败,
并且当前绘画位
置不改变。您可以通过创建子类来扩展 MovieClip 类的方法和事件处理函数。
lineTo()功能: 使用当前线条样式绘制一条从当前绘画位置到 (x, y) 的线条; 当前绘画
位置随后会设置为 (x,y)。如果正在其中绘制的影片剪辑包含用 Flash 绘画工具创建的内
容,则调用 lineTo() 方法将在该内容下面进行绘制。如果在对 moveTo() 进行任何调用之
前调用了 lineTo(),则当前绘画位置默认为 (0, 0)。如果缺少任何一个参数,则此方法将失
败,并且当前绘画位置不改变。
lineStyle()功能:指定 Flash 用于后续 lineTo() 和 curveTo() 方法调用的线条样式,在以
不同参数调用 lineStyle() 方法之前,线条样式不会改变。可以在绘制路径的中间调用
lineStyle() 以为路径中的不同线段指定不同的样式。
keyDown:当按下某个键时启动此动作。使用 Key.getCode() 获取有关最后按下的键的信息
KeyUp: 当释放某个键时启动此动作。
小结:在 onClipEvent()函数的事件中 load 事件和 enterFrame 事件是最常用,最重要的。
大家一定要
掌握好。在影片剪辑上写命令一定要选加上 onClipEvent()事件处理函数。就如同在按钮
上加命令要先加 on命令。这一点大家一定要牢牢记住。


 
原创粉丝点击