图10
(3)在Frame下面的
图11
图12
(4)选中图层Layer 2的第30帧,按F9键打开其“动作”面板,在其中添加如下脚本:
gotoAndPlay("begin");
“动作”面板如图13所示,添加脚本后的时间轴如图14所示。
图13
图14
(5)按Ctrl+Enter键测试动画,效果如图15所示。该动画只在第1~30帧之间播放。
图15
如果将上例的gotoAndPlay换成gotoAndStop,动画播放完第30帧后将停止在第1帧。
在上面的示例中,并不需要为第1帧添加帧标签,也可以直接在第30帧中使用如下语句:
gotoAndPlay(1);
这两种情况的效果是一样的。但是为帧添加帧标签可以使以后的编辑操作更方便。如在编辑过程中将第1帧移到了其他位置,这时使用gotoAndPlay(1)就不能正确找到需要的帧;而使用帧标签的脚本不会受到帧位置变化的影响。
条件语句if
if的作用
if语句用来判断条件是否成立,根据判断的结果为真(true)或为假(false)执行不同的操作。
表达式中参数的含义
if语句的用法如下:
statement(s);
}
if(condition) {
其中,condition是一个用于判断的条件,该条件为真(取布尔值true)时,执行大括号中的语句statement(s),该条件为假时(取布尔值false)时,不执行大括号中的语句。
if语句还有如下形式:
statement1(s1);
}else if(condition2) {
statement2(s2);
}else if(condition3) {
statements3(s3);
……
}
if(condition1) {
这是一种多重判断,即当满足不同条件时实现分支操作。
if语句的示例
如图16所示是使用if语句的例子。当在文本框中输入1~10之间的数时,动画跳转到与输入的数值相同的帧位置,当输入大于10或小于1的数时,动画跳转到最后1帧,提示正确输入。
图16
该动画的制作步骤如下:
(1)在第1帧中使用文本工具
(2)依次在第2~10帧中插入关键帧,将其中的文本修改成对应帧的帧编号,如第2帧中的文本修改为2,第3帧中的文本修改为3。
(3)在第11帧中使用文本工具
(4)单击
(5)在新建的图层Layer 2中使用文本工具
(6)在步骤(5)添加的文本下面绘制一个文本框,在“属性”面板中选择Input Text(输入文本)选项,单击按下
图17
(7)选中图层Layer 1的最后一帧,在“属性”面板中输入帧标签wrong,如图18所示。
图18
(8)选中图层Layer 2的第1帧,按F9键打开其“动作”面板,在其中添加如下语句:
stop();
this.onEnterFrame = function() {
if (input>=1 && input<=10) {
gotoAndStop(input);
} else {
gotoAndStop("wrong");
}
};
添加语句后的“动作”面板如图19所示。
图19
此时的时间轴如图20所示。
图20
(9)按Ctrl+Enter键测试动画,当在输入文本框中输入一个1~10之间的数字时,动画将跳转到相应的帧,如图21所示。
图21
在上面的脚本中,this.onEnterFrame = function()是为主时间轴定义的一个事件,即每当主时间轴进入一帧即执行大括号中的语句,这样就能使Flash不断检查输入的数字,一旦数字发生了变化,就能马上跳转到相应的帧。
在if后面括号中的条件是input>=1 && input<=10,这是一个复合条件,&&表示与操作,即当该符号两边的条件都成立时结果为true,只要有一者不成立则结果为false。
语句gotoAndStop(input)将输入文本中的内容作为gotoAndStop语句的参数,因为需要用到的是input文本框中的内容,而不是字符串input,所以该语句中的input不能加引号(")。
点击浏览该文件
点击浏览该文件
循环语句for
for的作用
当需要重复执行某种操作时就要用到循环语句,最常用的循环语句就是for语句。
表达或中参数的含义
for语句的用法如下
[1] [2]











