影片剪辑的属性再讲循环语句影片剪辑处理函数Word下载.docx
《影片剪辑的属性再讲循环语句影片剪辑处理函数Word下载.docx》由会员分享,可在线阅读,更多相关《影片剪辑的属性再讲循环语句影片剪辑处理函数Word下载.docx(25页珍藏版)》请在冰豆网上搜索。
![影片剪辑的属性再讲循环语句影片剪辑处理函数Word下载.docx](https://file1.bdocx.com/fileroot1/2023-2/1/f01cd750-98c7-4f8d-a6a0-1d2742538cda/f01cd750-98c7-4f8d-a6a0-1d2742538cda1.gif)
_root.mc.mc1._rotation+=2;
_root.txt="
旋转度:
+_root.mc.mc1._rotation;
按纽4上的代码:
_root.mc.mc1._rotation-=2;
按纽5上的代码:
_root.mc.mc1._alpha-=5;
透明度:
+_root.mc.mc1._alpha;
按纽6上的代码:
_root.mc.mc1._xscale=100;
_root.mc.mc1._yscale=100;
_root.mc.mc1._rotation=0;
_root.mc.mc1._alpha=100;
还原"
在上例中我们学习了点运算符设置和获取影片剪辑的属性,但点运算符不能动态的设置影片
剪辑的属性。
这一课中我们将学习动态的设置影片剪辑的属性。
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
功能:
返回影片剪辑my_mc的指定属性的值。
◆my_mc:
String—要检索其属性的影片剪辑的实例名称。
◆property—影片剪辑的一个属性。
返回:
Object—指定属性的值。
点击,全属函数|影片剪辑控制|getProperty后
此对话本框中参数能选项如下所述。
目标—要检索其属性的影片剪辑的实例名称。
属性—指定属性的值。
设置和获取影片剪辑的属性
(1)在舞台任意绘制一个图形,转化为影片剪辑元件,注册点居中。
在属性面板中设置实
例名为“a_mc”
(2)复制一个影片剪辑实例,把复制的这个实例用任意变形工具任意改变它的高和宽。
并
在属性面板里设置实例名为“b_mc”。
(3)建立一个按钮,选中按钮,打开“动作”面板,写入代码:
setProperty("
b_mc"
_width,getProperty("
a_mc"
_width));
_height,getProperty("
_height));
_x,getProperty("
_x)+200);
_y,getProperty("
_y));
测试影片,点击按钮后,两个实例完全一样。
在这个实例中是静态地设置和获敢影片剪辑属性的,下面我们来练习动态设置属性。
使用setProperty()函数批量更改影片剪辑属性
下图是实效果中的一个面画制作步骤
(1)新建flash文档,文档大小:
600×
400,其它默认。
(2)在舞台上绘制一个直径为60的正圆,转化为影片剪辑元件,注册点居中。
(3)复制4个影片剪辑实例,在属性面板里分别设置实例名称为“qiu1”、“qiu2”、
“qiu3”、“qiu4”、“qiu5”。
把5个影片剪辑实例拖入到舞台外。
(4)在舞台上建立两个按钮元件。
分别选中按钮,打开动作面板,写入代码:
i<
5?
i++:
i=1;
qiu"
+i,_x,100*i);
+i,_y,180);
+i,_alpha,100-(i-1)*20);
+i,_y,2/3*100*i);
在场景第1帧输入代码:
vari=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个影片
剪辑实例呢?
那你要写多少代码。
所以掌握动态设置影片剪辑属性的方法很有必要。
在以后
我们学习到复制命令、条件、循环后会更有体会的。
动态路径
影片剪辑一般可以通过手工创建,通过“属性”面板设定影片剪辑的实例名称,通过实例名
称和路径可以访问不同层次的影片剪辑实例。
但有的影片剪辑实例是通过程序创建的,例如
通过复制函数可以复制出若干的新影片剪辑实例,它们的实例名也是在程序中指定的。
要访
问这些复制出来的影片剪辑,最好的方法是用动态路径。
动态路径是利用数组运算符来实现的
。
我们可以使用动态路径来访问"
+i
_root["
+i]
也可以使用this来指定
this["
注意:
动态路径使用数组运算符“[]”实现,路径同实例名之间没有点运算符。
说明:
使用动态路径可以批量实现路径.假如场景中有影片剪辑实例mc1,mc2…mc100假如
用绝对路径要写100行程序,用动态路径非常方便,因为这些实例名有一定的规律,开头
的字母都是一个的,都是mc,后面的数字可以用一个变量n来表示,因为变量是可以变化
的,表不如下:
_root[“mc”+i]
如果有多重路径,如要访问主场景下的mcA下的mc1到mc100,可以这样来表示:
_root.mcA["
mc"
又如要访问"
+i中的变量txt,可以这样来表示:
+i+"
.txt"
]
利用动态路径批量更改影片剪辑的属性。
。
(1)打开源文件。
(2)进入qiu1的编辑场影中,插入“图层2”在此图层上建立一个动态文本,在属性面板
里输入变量名txt。
因为另外四个影片剪辑实例是由qiu1复制的,所以每个影片剪辑实例中都有了动态文本。
(3)把两个按钮上的代码分别改为:
+i]._x=100*i;
+i]._y=180;
]="
+i;
}
i<
+i]._alpha=100-(i-1)*20;
+i]._y=2/3*100*i;
测试影片,
说明:
动态路径在实际编程中运用非常广泛,它大大提高了编程的效率。
有关动态路径更多
应用将在后面的章节里讲解。
十七、再讲循环语句
掌握if语句、if-else语句、elseif语句的语法格式及其功能。
一个程序都是由若干个基本结构组成,每个基本结构包含一个或多个语句。
程序有三种基本
结构,顺序结构、选择结构、循环结构。
在实际运用中,往往有一些需要根据条件来判断结果的问题,条件成立是一种结果,条件不
成立又是一种结果。
像这样比较复杂的问题就必须用选择结构来解决。
在选择结构程序中,有一个条件,当条件为真时,执行一段代码,否则的话,执行另一段
代码,所以选择结构的程序的特点是只能执行两段代码中的一段。
在这一课中我们将继续学习条件语句。
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)选中计算按钮,打开动作面板,输入下面代码:
vark=Number(a_txt);
b_txt=(k%3==0);
if(k%3==0){
c_txt="
a能被3整除"
;
d_txt="
这里显示的是花括号后面的语句"
(4)选中清空按钮,打开动作面板,输入下面代码:
a_txt="
b_txt="
(5)测试影片,在输入文本时输入数字。
点击计算按钮,可以看到当条件为真时执行大括
号内的语句,当条件为假时跳过大括号执行大括号外的语句。
条件语句中的条件
(1)条件语句中的条件可以非常简单,一个变量也可以作为一个条件,如果变量有一个确
定的值,它返回的结果是真,如:
var我的名字="
雷克斯de眼泪"
if(我的名字){
trace(我的名字);
(2)条件语句中的条件还可以是一个赋值表达式。
如:
if(我的名字=="
){
(3)if名句中的条件可以是多个的,要用逻辑运算符进行连接,这时flash将进行判断,
计算最后的结果是真还是假,如:
var用户名="
var用户密码="
123"
if(用户名=="
&
&
用户密码=="
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)单击“清空”按钮上的代码:
计算按钮上的代码:
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="
查成绩按钮上的代码:
if(Number(a)+Number(b)==Number(c)){
答对了!
答错了!
6.回到场景,从库里提出名为“填空题”的影片剪辑元件,居中对齐。
测试影片。
elseif语句
ActionScript语言元素>
语句>
elseif语句
if(条件1){
程序1;
}elseif(条件2){
程序2;
…
}elseif(条件s){
程序(s);
elseif语句是这样执行的:
进行条件1的判断,如果条件1为真执行程序1,如果
条件1为假则跳过程序1,进行条件2的判断,其它依此类推。
心心相印
心脏每时每刻都在不停的跳动,我们利用变量的递增递减及条件语句可以实现这个效果。
当
数字增大时心脏变大,当数字减小时心脏变小。
制作步骤:
(1)新建一个FLASH文档,大小默认。
(2)新建一个名为“跳动的心”的影片剪辑元件,在其编辑区绘制一个心脏。
(3)把心脏转化为影片剪辑元件,注册点在图形的中心。
在属性面板中设置心脏的实例名
“heart”。
(4)建立一个名为AS的层,单击第一帧,打开动作面板,输入下列代码:
vari=1;
varj=8;
varcon=true;
在AS层的第2帧插入空白关键帧,在其动作面板中输入下列代码:
heart._xscale=heart._yscale=i+100;
if(con){
i++;
i--;
if(i==1){
con=true;
}elseif(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){
发生load事件"
(2)测试影片,在“输出”面板中看到的输出信息只有一次。
(3)返回主场景,在第二帧插入一帧,测试影片,虽然帧不断循环播放,但输出信息也只
有一次。
(4)返回主场景,在第二帧插入一空白关键帧,让其循环播放。
测试影片,将不断的输出
信息。
通过测试可以看出,当影片剪辑出现在时间轴上时,load事件发生,当实例在时间轴
上消失时又重新出现时,也会发生load事件。
Load事件通常用来声明初始化变量,当影