您的位置:首页 > 电脑网络 > 专业指导

 

flash中的actionscript编程


WWW.YUHUAN.COM  作者:yuhuan 来自:玉环网站 点击:196 时间:2006-4-12

ActionScript的作用及类型

ActionScriptFlash中内嵌的脚本程序,使用ActionScript可以实现对动画流程以及动画中的元件的控制,从而制作出非常丰富的交互效果以及动画特效。

Flash MX 2004中的ActionScript2.0版,它支持更多的功能,如类、继承等。不过作为动作脚本,最基本的功能变化不大。

从添加脚本的对象来分,ActionScript主要有以下几种:

为时间轴中的关键帧添加的脚本,为影片剪辑元件实例添加的脚本,为按钮添加的脚本。

在如图1所示的“动作”面板中可以看到Flash MX 2004中的动作脚本类型。

按此在新窗口浏览图片

1

从图1中面板左边的动作脚本目录中可以看到ActionScript主要有以下几种类型:

Global Functions(全局函数)、Global Properties(全局属性)、Statements(陈述)]Operators(运算符)、Built-in Classes(内置类)、Constants(常量)、Compiler Directives(编译命令)、Types(类型)、Deprecated(否决的)、Data Components(数据组件)、Screens(屏幕)和Components(组件)。Index是所有脚本命令的索引。

停止语句stop

前面制作的所有动画都没有添加动作脚本,所以每个动画在播放完最后一帧时都将回到第1帧重复播放。为了避免这种无休止的循环,可以使用停止语句stop

stop语句没有参数,其使用方法如下:

stop();

当在时间轴中的某一关键帧上添加该语句后,动画播放到该帧的位置即自动停止。

如图2所示分别是文档stop.fla5个关键帧。

按此在新窗口浏览图片

2

为该动画添加语句stop,使其停止在第10帧,其操作步骤如下:

1)使用鼠标选中时间轴的第10帧,如图3所示。

按此在新窗口浏览图片

3

2)按F9键打开“动作”面板,此时的“动作”面板标题栏为Actions-Frame,如图4所示。

按此在新窗口浏览图片

4

3)在“动作”面板的脚本编辑窗口中输入脚本,如图5所示。添加了脚本后的帧发生了变化,如图6所示,其中的图标表示该帧中添加了脚本。

按此在新窗口浏览图片

5
按此在新窗口浏览图片

6

4)按Ctrl+Enter键测试动画,效果如图7所示。

按此在新窗口浏览图片

7

由于在第10帧使用了stop语句,动画播放到第10帧时自动停止,不再继续播放下去。

在“动作”面板中为关键帧添加stop语句时,stop后面的括号和分号是不可省的,并且必须在英语输入法状态下输入。

stop语句相对的是play语句,执行play语句时,动画从当前位置继续播放,其使用方法如下:

play();


点击浏览该文件

点击浏览该文件

跳转语句goto

goto的作用

goto语句可以用来使动画或动画中的某一个影片剪辑跳转到指定的帧。goto语句有两种形式,一种是gotoAndPlay,即跳转并播放,另一种是gotoAndStop,即跳转并停止。

表达式中参数的含义

goto语句的使用方法如下:

mcName.gotoAndPlay(frameName);

或:

mcName.gotoAndStop(frameName);

其中mcName是指一个影片剪辑的实例名称,如果它为_root,则表示主场景中的时间轴。如果省略,则表示该脚本程序添加到的时间轴所在的影片剪辑。

frameName为要跳转到的帧位置,它既可以是帧编号,也可以是帧标签,帧标签即为帧添加的名称。

goto语句的示例

在该动画中,地球模型只在如图8所示的两个位置之间运动。

按此在新窗口浏览图片

8

该动画的制作步骤如下:

1)选中图层Layer 2的第1帧,如图9所示。

按此在新窗口浏览图片

9

2)按Ctrl+F3键打开其“属性”面板,如图10所示。

按此在新窗口浏览图片

ActionScript的作用及类型

ActionScriptFlash中内嵌的脚本程序,使用ActionScript可以实现对动画流程以及动画中的元件的控制,从而制作出非常丰富的交互效果以及动画特效。

Flash MX 2004中的ActionScript2.0版,它支持更多的功能,如类、继承等。不过作为动作脚本,最基本的功能变化不大。

从添加脚本的对象来分,ActionScript主要有以下几种:

为时间轴中的关键帧添加的脚本,为影片剪辑元件实例添加的脚本,为按钮添加的脚本。

在如图1所示的“动作”面板中可以看到Flash MX 2004中的动作脚本类型。

按此在新窗口浏览图片

1

从图1中面板左边的动作脚本目录中可以看到ActionScript主要有以下几种类型:

Global Functions(全局函数)、Global Properties(全局属性)、Statements(陈述)]Operators(运算符)、Built-in Classes(内置类)、Constants(常量)、Compiler Directives(编译命令)、Types(类型)、Deprecated(否决的)、Data Components(数据组件)、Screens(屏幕)和Components(组件)。Index是所有脚本命令的索引。

停止语句stop

前面制作的所有动画都没有添加动作脚本,所以每个动画在播放完最后一帧时都将回到第1帧重复播放。为了避免这种无休止的循环,可以使用停止语句stop

stop语句没有参数,其使用方法如下:

stop();

当在时间轴中的某一关键帧上添加该语句后,动画播放到该帧的位置即自动停止。

如图2所示分别是文档stop.fla5个关键帧。

按此在新窗口浏览图片

2

为该动画添加语句stop,使其停止在第10帧,其操作步骤如下:

1)使用鼠标选中时间轴的第10帧,如图3所示。

按此在新窗口浏览图片

3

2)按F9键打开“动作”面板,此时的“动作”面板标题栏为Actions-Frame,如图4所示。

按此在新窗口浏览图片

4

3)在“动作”面板的脚本编辑窗口中输入脚本,如图5所示。添加了脚本后的帧发生了变化,如图6所示,其中的图标表示该帧中添加了脚本。

按此在新窗口浏览图片

5
按此在新窗口浏览图片

6

4)按Ctrl+Enter键测试动画,效果如图7所示。

按此在新窗口浏览图片

7

由于在第10帧使用了stop语句,动画播放到第10帧时自动停止,不再继续播放下去。

在“动作”面板中为关键帧添加stop语句时,stop后面的括号和分号是不可省的,并且必须在英语输入法状态下输入。

stop语句相对的是play语句,执行play语句时,动画从当前位置继续播放,其使用方法如下:

play();


点击浏览该文件

点击浏览该文件

跳转语句goto

goto的作用

goto语句可以用来使动画或动画中的某一个影片剪辑跳转到指定的帧。goto语句有两种形式,一种是gotoAndPlay,即跳转并播放,另一种是gotoAndStop,即跳转并停止。

表达式中参数的含义

goto语句的使用方法如下:

mcName.gotoAndPlay(frameName);

或:

mcName.gotoAndStop(frameName);

其中mcName是指一个影片剪辑的实例名称,如果它为_root,则表示主场景中的时间轴。如果省略,则表示该脚本程序添加到的时间轴所在的影片剪辑。

frameName为要跳转到的帧位置,它既可以是帧编号,也可以是帧标签,帧标签即为帧添加的名称。

goto语句的示例

在该动画中,地球模型只在如图8所示的两个位置之间运动。

按此在新窗口浏览图片

8

该动画的制作步骤如下:

1)选中图层Layer 2的第1帧,如图9所示。

按此在新窗口浏览图片

9

2)按Ctrl+F3键打开其“属性”面板,如图10所示。

按此在新窗口浏览图片

10

3)在Frame下面的 文本框中为选中的帧命名一个帧标签,如begin,如图11所示。可以看到,命名后的帧发生了变化,如图12所示,第1帧添加了一个 图标,表示包含帧标签,该图标后面即是该帧的帧标签。

按此在新窗口浏览图片

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语句的用法如下:

if(condition) {

statement(s);

}

其中,condition是一个用于判断的条件,该条件为真(取布尔值true)时,执行大括号中的语句statement(s),该条件为假时(取布尔值false)时,不执行大括号中的语句。

if语句还有如下形式:

if(condition1) {

statement1(s1);

}else if(condition2) {

statement2(s2);

}else if(condition3) {

statements3(s3);

……

}


这是一种多重判断,即当满足不同条件时实现分支操作。

if语句的示例

如图16所示是使用if语句的例子。当在文本框中输入1~10之间的数时,动画跳转到与输入的数值相同的帧位置,当输入大于10或小于1的数时,动画跳转到最后1帧,提示正确输入。

按此在新窗口浏览图片

16

该动画的制作步骤如下:

1)在第1帧中使用文本工具 输入数字1

2)依次在第2~10帧中插入关键帧,将其中的文本修改成对应帧的帧编号,如第2帧中的文本修改为2,第3帧中的文本修改为3

3)在第11帧中使用文本工具 输入文本“请正确输入”。

4)单击 按钮新建一个图层。

5)在新建的图层Layer 2中使用文本工具 输入文本“请输入要跳转到的帧数”。

6)在步骤(5)添加的文本下面绘制一个文本框,在“属性”面板中选择Input Text(输入文本)选项,单击按下 按钮使文本显示边框,在Var后的文本框中输入文本input,作为该输入文本的变量名,如图17所示。

按此在新窗口浏览图片

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不能加引号(")。
点击浏览该文件

点击浏览该文件

责任编辑:xzm 文章页数第[1]页 

【字体: 】【关闭


■ 相关连接

 
文章搜索
暂停使用
本级分类
|电子商务|
|菜鸟入门|
|专业指导|
|病毒档案|
|黑客攻防|
|硬件市场|
|游戏介绍|
阅读排行
·手把手教你如何超频--CPU篇
·远程控制编程揭密
·[原创]VB写的简单病毒
·2分钟入侵网站全程实录
·网络技术常用术语汉语对照
·电脑故障检修纵横谈
·手把手教你超频--内存显卡篇
·从最小化到彻底隐藏(1)
·图解Windows Vista ...
·BIOS全攻略
·当姜太公成为黑客时
·上传在网页上的图片和图片链接看不...