flash动作脚本-动态文本框、影片剪辑的拖拽、流程控制与循环语句

时间:2019-05-13 06:17:29下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《flash动作脚本-动态文本框、影片剪辑的拖拽、流程控制与循环语句》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《flash动作脚本-动态文本框、影片剪辑的拖拽、流程控制与循环语句》。

第一篇:flash动作脚本-动态文本框、影片剪辑的拖拽、流程控制与循环语句

flash动作脚本-动态文本框、影片剪辑的拖拽、流程控制与循环语句

四、动态文本框

一、flash 中的动态文本使用方法

在 flash中,文本工具提供了三种文本类型。分别是:静态文本、动态文本和输

入文本。

下面讲解的内容属于动态文本的 AS 编写规则。要创建一个动态文本非常简单,只需要 选中文本工具,然后选择动态文本类型,然后在舞台上拖拽出所需要的动态文本框就行了。

二、如何为动态文本赋值

当在舞台上拖拽出动态文本框之后,可以直接在里面进行文本输入或粘贴外部文

本内

容。那么用 AS 如何来对动态文本框赋值呢?在这里为大家介绍两种方法进行

赋值!

1、使用动态文本的实例名字来赋值

操作步骤:

(1)在舞台上创建一个动态文本框,并为这个动态文本实例起一个名字,例如

abc

(2)选中时间轴的第一桢,打开动作面板,输入以下脚本:

abc.text = “爱国者安全网”

按下 ctrl+回车就可进行测试了。从这个简单的例子可以知道,如果要用文本实

例名字 来进行赋值的话,必须使用以下格式:动态文本实例的名字.text=”需要

赋值的内容”

2、使用变量来赋值

(1)在舞台上创建一个动态文本框,并为这个动态文本实例起一个变量名

3800hk。

(2)选中时间轴的第一桢,打开动作面板,输入以下脚本:

3800hk= “欢迎大家来到爱国者安全网学习!” 不难看出,使用变量赋值更为简单实用!赋值格式为: 变量名=“赋值的内容”

以上两种赋值方法如果内容过多需要换行的时候,需要使用行用回车符(“r”

即 ASCII 13)分隔!

三、如何载入外部 txt 文本里的内容

当内容过多的时候,使用上面的方法并不是太好,我们可以使用下面的方法,从

外部获 取文本资料内容!而外部的资料内容就放在一个普通的 txt(记事本)文

件中。

具体操作步骤如下:

1、创建一个动态文本实例,并为这个动态文本实例起一个变量名 hk

2、选中时间轴的第一桢,打开动作面板,输入以下脚本:

loadVariablesNum(“heiying.txt”, 0);//载入外部名字叫 heiying.txt 的文本文件,加载

级别为0

3、现在来准备外部的 heiying.txt 文本文件了。注意:要把这个文本文件和你刚

才做的 flash文件放在一个文件夹里!

这个 txt 文件里的资料应该按照如下格式编写:flash中动态文本变量的名字=这 里就是 所需要的资料内容。对应上面的格式,外部 heiying.txt 中的内容为:

hk=欢迎大家来到爱国者安全网学习!。

最后一点,需要将这个文本文件保存为 UTF-8 格式。

4、完成以上步骤之后,就可以进行测试了。

下面介绍另外一种载入外部文本资料的方法,并介绍当文本内容过多时候,如

何使用滚

动条组件

(1)创建一个动态文本实例,并并为这个动态文本实例起一个实例名字 anquan(注: 是实例名而不是变量名)起一个变量名为 hk(2)打开 flash 的组件面板(快捷键 ctrl+F7),找到 UIScrollBar(滚动条)组

件。按着 它不动,然后拖放此组件至刚才的动态文本实例的右部边缘,如果成功的话,组件会和文本 框结合在一起!

(3)选中舞台第一桢,编写如下脚本:

tt = new LoadVars();//创建一个 LoadVars 对象的实例,这里的实例名字叫 tt tt.load(“heiying.txt”);//创建的 tt 实例需要载入的对象是 heiying.txt 文本文件。

tt.onLoad = function(s){ //开始载入外部文件,具体格式请按照此例格式。参数 s 是指示 load 操作是否成功完成。如果完成,那么 S 的值就为 true(真),反之

为 false(假)if(s){

anquan.text = tt.hk;

}//如果载入成功,则 anquan文本框中的内容就等于 tt.实例中的 heiying的内容!

(hk是我们 外部文本文件中的变量。)

};(4)至于外部的 heiying.txt 还可以使用刚才所创建的文本文件,为了测试滚动

条的效

五、影片剪辑的拖拽

在网上经常看到的 flash影片中有的对象可以被鼠标进行拖动。例如有的类似七

巧板的拼图游戏,控制音量的滑杆等,所使用的就是 flash中的拖拽动作。

一、拖拽命令详细介绍

1、首先介绍一下开始拖拽命令的详细用法,稍后在后面的例子中进行测试。

命令格式: StartDrag(要拖动的影片剪辑,[是否锁定到鼠标位置中央,左,上,右,下])或写为要拖动的影片剪辑.StartDrag([是否锁定到鼠标位置中央,左,上, 右,下])

命令讲解:在制作动画的过程中,上面两种书写方法可任选一种。其中[]

内的为可选参数,也就是可以写,也可以不写。至于左,上,右,下四个参数是

用来控制被拖对象的移动范围。2、停止拖拽命令讲解

命令格式: 被拖动的影片剪辑实例名.stopDrag()这样就可以停止对对象的拖拽动作。

二、实例讲解

下面来用一个简单的例子实验拖拽命令。

操作步骤:

1、新建一个 flash 文档,并在舞台上绘制一个圆形。选中圆形并按F8,将此圆形转换为影片剪辑,起名为:圆。确定后将会在舞台上创建一个圆的实

例。

2、选中此实例,并按F9打开动作面板。输入如下脚本:

on(press){

this.startDrag(true);//当鼠标按下(press)之后,这个实例(因为我们把脚本写

在实例本身了,所以这里用 this 代替影片剪辑实例的名字)可以被拖拽,使用

命令如上面的命令解释。对于参数的选择方面,这里只填写了锁定到鼠标位置

中央,如果想选不锁定到鼠标位置中央,可以把true改为 false。有兴趣的朋友

可以更改为 false看看。

}

on(release){

this.stopDrag();//同样道理,当鼠标释放(release)之后,将停止拖拽动作。

}

3、好了,现在让我们按 Ctrl+回车来测试一下吧,你将会看到舞台上的圆

被你的鼠标拖动的效果。

4、OK,通过这个例子我们可以简单的应用拖拽动作了。现在需要把这个

例子继续完成,还记得上面命令讲解中的左,上,右,下四个控制拖动范围的参

数吗?现在来制作具有约束拖动范围的效果。

5、现在在舞台上绘制一个200*100大小的矩形,注意只要边框不要填

充。

6、如果我们希望在拖动的时候这个圆只能在矩形内拖动的话,就要先设置

这个矩形的坐标,并记下矩形四个顶点的坐标(这点很重要!)。OK,比如,现

在此例子中的矩形的四个顶点分别如上图所示。那我们要取的四个参数就应该

是:左=50,上=100,右=250,下=200 现在打开动作面板,修

改刚才的脚本如下: on(press){

this.startDrag(true, 50, 100, 250, 200);//这里我们就使用刚才确定好的4个参数。

4个点的参数就对拖动对象实现了一个矩形区域的移动约束!

}

on(release){ this.stopDrag();}

7、好了,按Ctrl+回车去测试吧!

好了,关于拖拽的讲解先到这里,下面我们来学习如何结合着拖拽动作来检

测对象之间的碰撞!

三、碰撞命令的讲解

命令格式: 目标影片剪辑的实例.hihkest(被拖拽的实例)这个是比较

简单的检测碰撞命令

目标影片剪辑的实例.hihkest(被拖拽实例的X轴坐标,被拖

拽实例的Y轴坐标,对象的矩形区域范围还是对象本身范围)这个是比较复

杂点的检测碰撞命令

命令解释: 以上两个命令都是用来检测碰撞的,可以根据需要选择不同的

命令。重点解释一下对象的矩形区域范围和对象本身范围(上面的命令中,false 表示对象的矩形区域范围,true表示对象本身的范围)

四、碰撞命令与拖拽命令的结合使用

(一)、下面通过简单的例子来学习碰撞命令(我们先来学习如何检测是否

碰到对象的矩形区域范围)

1、新建一个 flash 文档,在舞台上绘制一个圆形。选中圆形并按F8将它

转换为影片剪辑,起名:圆。这样就在舞台上创建了一个圆的实例。

2、选中此实例,为它起一个名字,此例起名为:yuan 3、选择文字工具,并选择文字类型为“动态文本”,在圆的实例下面拖绘出一个

动态文本框。并起一个变量名为:hk

4、选中时间轴的第一桢,按F9打开动作面板,输入以下脚本:

_root.onEnterFrame = function(){

//这个是在时间轴上的AS编写规则,解释为舞台上每桢都执行下面的脚本

(onEnterFrame)。

if(_root.yuan.hitTest(_root._xmouse, _root._ymouse, false)){ //根据上面命令的讲解,这个语句就是检测碰撞了。如果鼠标碰到舞台上

yuan这个实例的矩形区域范围的话,就执行下面的脚本。

hk = “接触矩形区域范围”;

//动态文本框就显示出“接触矩形区域范围”

} else {

hk = “没有接触到矩形区域范围”;

//如果鼠标没有碰到舞台上 yuan 这个实例的矩形区域范围的话,就显示

没有接触到矩形区域范围。

} };

现在可以按Ctrl+回车去测试我们的成果

(二)、拖拽碰撞检测

现在再来一个例子讲解拖拽碰撞检测,想偷懒的话可以通过修改上面例子的代码来学习。

1、现在稍微修改一下上面的例子,以便让我们学习拖拽碰撞检测,在上面

例子的舞台上绘制一个矩形,并把这个矩形转换成电影剪辑,起名为:矩形。

这样就在舞台上又创建了一个矩形的实例,现在为这个矩形实例起一个名为:

juxing。

2、选中这个矩形实例,打开动作面板,输入可以拖拽这个实例的脚本。如下:

on(press){

this.startDrag(true);}

on(release){ this.stopDrag();}

这个脚本就是为了能拖动这个矩形实例。具体解释请回顾第一个拖动对象例

子的脚本说明。

3、现在来修改脚本,选中时间轴的第一桢,按F9打开动作面板,你将会

看到上个例子的碰撞检测脚本,把它修改为如下脚本:

_root.onEnterFrame = function(){ if(_root.yuan.hitTest(_root.juxing)){ hk = “碰到了”;} else {

hk = “没有碰到”;} }

这个脚本和上次的碰撞检测脚本类似,只不过不需要再书写X轴和Y轴,也

不用写是否碰到矩形区域范围。简单吧

现在又到了测试阶段了,去观看你的成果

六、流程控制与循环语句

众所周知,flash中动画依靠的是时间轴,在没有脚本的情况下,动画会依照时

间轴从第一帧不停的播放到最后一帧,然后始重复播放或者干脆停止。为了能更

好的控制动画,就必须使用脚本语句。而要想使动画具有逻辑判断的功能,就要

使用流程控制和循环控制语句了!下面通过几个简单的小例子来学习流程与循环

控制语句。

一、流程控制语句

所谓流程控制,无非就是我们想控制动画程序的执行顺序而已。我们可以让

flash根据一些特定的条件,来决定要执行哪个程序。这样就好象给了程序一些

判断的机制。

if...else控制语句

根据英文的意思,大家可以简单的理解上面的控制语句:如果...就...否

则...就...下面来看看这个流程控制语句的书写格式。if(条件){

//条件成立的话,就执行这里的程序。

}else{

//条件不成立的话就执行这里的程序。

}

下面重点说一下 if 后面括号内的条件。这个条件可以是一个固定的值,也

可以是一个变量或表达式。如果条件成立的话,也就是条件为真(true),就会

执行 if 后面的程序,如果条件不成立,也就是条件为假(false),就会执行

else里的程序。例如:有这么一个条件,A>B 将这个表达式代入if后面的括号

内,这个流程语句的意思就变成: 如果A>B的话,就执行第一个大括号内的程序,如果A不大于B,就将执行else后面大括号内的程序。

实例讲解:

1、新建一个flash文档,在舞台上绘制一个圆,选中圆并按F8转换成影

片剪辑,起名为:圆 这样就在舞台上创建一个圆的实例。

2、选中舞台上的实例,按F9打开动作面板,输入如下脚本:

onClipEvent(enterFrame){

if(this._x<400){//流程条件控制语句,如果这个圆的实例的X轴坐标小于400,就执行后

面的程序。

this._x += 5;//让这个圆的坐标向右移动5个象素

} else {

this._x = 0;//控制语句,如果刚才的条件不成立。也就是圆实例的X坐标不小于400,就

让它的X坐标为0

} }

上面的脚本是一个非常简单的流程控制语句,根据实例的坐标来进行判断。因为我们

使用了 enterFrame事件,所以 flash会不停的执行下面 if...else语句。

3、测试影片。会看到圆不停的向右移动,当它的X坐标大于或等于400的时候,程

序会把它的X坐标重新更改为0。

二、循环控制语句

所谓的循环语句,其实也是用条件来控制的,只要条件成立,那么,程序就会不停的执

行下去,一直执行到条件不成立为止!常用的循环语句包括 while 循环、for 循环等。因

为篇幅有限,下面只重点讲解 for 循环的使用方法。

For 循环命令格式:

for(初始变量;条件语句;迭加命令语句){ //用户自己编写的脚本。

} 首先强调一点,for 语句的括号内有三个项目,必须要用分号间隔开!

初始变量:循环语句也是用条件是否成立来控制的,通常我们用一个变量来控制程序执

行的次数。那么,这个初始变量就要先定义一个值。要注意的是,初始变量这个项目只执行

一次!

条件语句:这个项目就是我们的判断语句了。如果这个项目判断为真(true),也就是

条件成立了。它就直接跳进大括号{}内执行里面的程序!反之,如果条件为假(false),它就直接跳出这个 for 语句了。

迭加命令语句:接上面的条件语句,如果条件语句成立,会执行{}内的程序,那么执

行完程序之后,就要回来执行迭加命令语句了。通常它就用来增加或减少刚开始时的初始变

量的值。

实例讲解:

1、新建一个 flash 文档,在舞台上绘制一个圆,选中圆并按F8转换成影片剪辑,起

名为:圆 这样就在舞台上创建一个圆的实例。

2、为这个实例起名为:yuan

3、添加一个新的层,并选中新层的第一帧,按F9打开动作面板,输入如下脚本:

for(i=1;i<5;i++){

duplicateMovieClip(“yuan”, “yuan”+i, i);_root[“yuan”+i]._x = random(400);_root[“yuan”+i]._y = random(300);_root[“yuan”+i]._alpha = random(100);}

如果大家实在觉得 for 语言很难读懂的话,你可以按照 for 语言执行的顺序把 i=1 代入程序

走一遍,可以帮助你理解程序。例如:当 i 等于1的时候,程序开始判断它是否小于5,那

么1肯定小于5了,条件为真,就执行{}内的复制程序,同时复制出来的新实例的名字就

变成了 yuan1,接着就是设置 yuan1 的坐标和透明度。之后,for 语句开始回去执行 i++,此时,i 的值就变为2了。然后又开始循环判断执行下去......(你可以算一下,这个 for 循环

总共循环了几次呢?答案是4次。)

4、选中时间轴的第6帧,按F6插入一关键帧,打开动作面板输入以下脚本: gotoAndPlay(1);

让 flash播放到第6帧的时候返回第1帧再来执行 for 循环语句。

5、测试效果吧,你会看到舞台上会循环4次复制出4个圆。

希望大家能通过这两个简单的例子掌握流程控制语句和循环控

下载flash动作脚本-动态文本框、影片剪辑的拖拽、流程控制与循环语句word格式文档
下载flash动作脚本-动态文本框、影片剪辑的拖拽、流程控制与循环语句.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐