flash动作脚本-动态文本框、影片剪辑的拖拽、流程控制与循环语句.doc_第1页
flash动作脚本-动态文本框、影片剪辑的拖拽、流程控制与循环语句.doc_第2页
flash动作脚本-动态文本框、影片剪辑的拖拽、流程控制与循环语句.doc_第3页
flash动作脚本-动态文本框、影片剪辑的拖拽、流程控制与循环语句.doc_第4页
flash动作脚本-动态文本框、影片剪辑的拖拽、流程控制与循环语句.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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中的拖拽动作。 一、拖拽命令详细介绍 、 首先介绍一下开始拖拽命令的详细用法, 稍后在后面的例子中进行测试。 命令格式: StartDrag(要拖动的影片剪辑,是否锁定到鼠标位置中央,左, 上,右,下)或写为要拖动的影片剪辑.StartDrag(是否锁定到鼠标位置中央,左,上, 右,下) 命令讲解:在制作动画的过程中,上面两种书写方法可任选一种。其中 内的为可选参数,也就是可以写,也可以不写。至于左,上,右,下四个参数是 用来控制被拖对象的移动范围。、停止拖拽命令讲解 命令格式: 被拖动的影片剪辑实例名.stopDrag() 这样就可以停止对对象的拖拽动作。 二、实例讲解 下面来用一个简单的例子实验拖拽命令。 操作步骤: 、新建一个 flash 文档,并在舞台上绘制一个圆形。选中圆形并按, 将此圆形转换为影片剪辑,起名为:圆 。确定后将会在舞台上创建一个圆的实 例。 、选中此实例,并按打开动作面板。输入如下脚本: on (press) this.startDrag(true);/当鼠标按下(press)之后,这个实例(因为我们把脚本写 在实例本身了,所以这里用 this 代替影片剪辑实例的名字)可以被拖拽,使用 命令如上面的命令解释。对于参数的选择方面,这里只填写了锁定到鼠标位置 中央,如果想选不锁定到鼠标位置中央,可以把true改为 false。有兴趣的朋友 可以更改为 false看看。 on (release) this.stopDrag();/同样道理,当鼠标释放(release)之后,将停止拖拽动作。 、好了,现在让我们按 Ctrl+回车来测试一下吧,你将会看到舞台上的圆 被你的鼠标拖动的效果。 、,通过这个例子我们可以简单的应用拖拽动作了。现在需要把这个 例子继续完成,还记得上面命令讲解中的左,上,右,下四个控制拖动范围的参 数吗?现在来制作具有约束拖动范围的效果。 、现在在舞台上绘制一个*大小的矩形,注意只要边框不要填 充。 、如果我们希望在拖动的时候这个圆只能在矩形内拖动的话,就要先设置 这个矩形的坐标,并记下矩形四个顶点的坐标(这点很重要!)。,比如,现 在此例子中的矩形的四个顶点分别如上图所示。那我们要取的四个参数就应该 是:左,上,右,下 现在打开动作面板,修 改刚才的脚本如下:on (press) this.startDrag(true, 50, 100, 250, 200);/这里我们就使用刚才确定好的个参数。 个点的参数就对拖动对象实现了一个矩形区域的移动约束! on (release) this.stopDrag(); 、好了,按Ctrl+回车去测试吧! 好了,关于拖拽的讲解先到这里,下面我们来学习如何结合着拖拽动作来检 测对象之间的碰撞! 三、碰撞命令的讲解 命令格式: 目标影片剪辑的实例.hihkest(被拖拽的实例) 这个是比较 简单的检测碰撞命令 目标影片剪辑的实例.hihkest(被拖拽实例的轴坐标,被拖 拽实例的轴坐标,对象的矩形区域范围还是对象本身范围) 这个是比较复 杂点的检测碰撞命令 命令解释: 以上两个命令都是用来检测碰撞的,可以根据需要选择不同的 命令。重点解释一下对象的矩形区域范围和对象本身范围(上面的命令中,false 表示对象的矩形区域范围,true表示对象本身的范围) 四、碰撞命令与拖拽命令的结合使用 (一)、下面通过简单的例子来学习碰撞命令(我们先来学习如何检测是否 碰到对象的矩形区域范围) 、新建一个 flash 文档,在舞台上绘制一个圆形。选中圆形并按将它 转换为影片剪辑,起名:圆 。这样就在舞台上创建了一个圆的实例。 、选中此实例,为它起一个名字,此例起名为:yuan 、选择文字工具,并选择文字类型为“动态文本”,在圆的实例下面拖绘出一个 动态文本框。并起一个变量名为:hk 、选中时间轴的第一桢,按打开动作面板,输入以下脚本: _root.onEnterFrame = function() /这个是在时间轴上的编写规则,解释为舞台上每桢都执行下面的脚本 (onEnterFrame)。 if (_root.yuan.hitTest(_root._xmouse, _root._ymouse, false) /根据上面命令的讲解,这个语句就是检测碰撞了。如果鼠标碰到舞台上 yuan这个实例的矩形区域范围的话,就执行下面的脚本。 hk = 接触矩形区域范围; /动态文本框就显示出“接触矩形区域范围” else hk = 没有接触到矩形区域范围; /如果鼠标没有碰到舞台上 yuan 这个实例的矩形区域范围的话,就显示 没有接触到矩形区域范围。 ; 现在可以按Ctrl+回车去测试我们的成果 (二)、拖拽碰撞检测 现在再来一个例子讲解拖拽碰撞检测, 想偷懒的话可以通过修改上面例子的 代码来学习。 、现在稍微修改一下上面的例子,以便让我们学习拖拽碰撞检测,在上面 例子的舞台上绘制一个矩形,并把这个矩形转换成电影剪辑,起名为:矩形 。 这样就在舞台上又创建了一个矩形的实例,现在为这个矩形实例起一个名为: juxing 。 、选中这个矩形实例,打开动作面板,输入可以拖拽这个实例的脚本。如下: on (press) this.startDrag(true); on (release) this.stopDrag(); 这个脚本就是为了能拖动这个矩形实例。 具体解释请回顾第一个拖动对象例 子的脚本说明。 、现在来修改脚本,选中时间轴的第一桢,按打开动作面板,你将会 看到上个例子的碰撞检测脚本,把它修改为如下脚本: _root.onEnterFrame = function() if (_root.yuan.hitTest(_root.juxing) hk = 碰到了; else hk = 没有碰到; 这个脚本和上次的碰撞检测脚本类似,只不过不需要再书写轴和轴,也 不用写是否碰到矩形区域范围。简单吧 现在又到了测试阶段了,去观看你的成果 六、流程控制与循环语句众所周知,flash中动画依靠的是时间轴,在没有脚本的情况下,动画会依照时 间轴从第一帧不停的播放到最后一帧,然后始重复播放或者干脆停止。为了能更 好的控制动画,就必须使用脚本语句。而要想使动画具有逻辑判断的功能,就要 使用流程控制和循环控制语句了! 下面通过几个简单的小例子来学习流程与循环 控制语句。 一、流程控制语句 所谓流程控制,无非就是我们想控制动画程序的执行顺序而已。我们可以让 flash根据一些特定的条件,来决定要执行哪个程序。这样就好象给了程序一些 判断的机制。 if.else控制语句 根据英文的意思,大家可以简单的理解上面的控制语句:如果.就.否 则.就. 下面来看看这个流程控制语句的书写格式。if(条件) /条件成立的话,就执行这里的程序。 else /条件不成立的话就执行这里的程序。 下面重点说一下 if 后面括号内的条件。这个条件可以是一个固定的值,也 可以是一个变量或表达式。如果条件成立的话,也就是条件为真(true),就会 执行 if 后面的程序,如果条件不成立,也就是条件为假(false),就会执行 else里的程序。例如:有这么一个条件,AB 将这个表达式代入if后面的括号 内, 这个流程语句的意思就变成: 如果AB的话, 就执行第一个大括号内的程序, 如果不大于,就将执行else后面大括号内的程序。 实例讲解: 、新建一个flash文档,在舞台上绘制一个圆,选中圆并按转换成影 片剪辑,起名为:圆 这样就在舞台上创建一个圆的实例。 、选中舞台上的实例,按打开动作面板,输入如下脚本: onClipEvent (enterFrame) if (this._x400) /流程条件控制语句,如果这个圆的实例的轴坐标小于,就执行后 面的程序。 this._x += 5;/让这个圆的坐标向右移动个象素 else this._x = 0;/控制语句,如果刚才的条件不成立。也就是圆实例的坐标不小于,就 让它的坐标为 上面的脚本是一个非常简单的流程控制语句,根据实例的坐标来进行判断。因为我们 使用了 enterFrame事件,所以 flash会不停的执行下面 if.else语句。 、测试影片。会看到圆不停的向右移动,当它的坐标大于或等于的时候,程 序会把它的坐标重新更改为。 二、循环控制语句 所谓的循环语句,其实也是用条件来控制的,只要条件成立,那么,程序就会不停的执 行下去,一直执行到条件不成立为止! 常用的循环语句包括 while 循环、for 循环等。因 为篇幅有限,下面只重点讲解 for 循环的使用方法。 For 循环命令格式: for(初始变量;条件语句;迭加命令语句) /用户自己编写的脚本。 首先强调一点,for 语句的括号内有三个项目,必须要用分号间隔开! 初始变量:循环语句也是用条件是否成立来控制的,通常我们用一个变量来控制程序执 行的次数。那么,这个初始变量就要先定义一个值。要注意的是,初始变量这个项目只执行 一次! 条件语句:这个项目就是我们的判断语句了。如果这个项目判断为真(true),也就是 条件成立了。它就直接跳进大括号内执行里面的程序!反之,如果条件为假(false), 它就直接跳出这个 for 语句了。 迭加命令语句:接上面的条件语句,如果条件语句成立,会执行内的程序,那么执 行完程序之后,就要回来执行迭加命令语句了。通常它就用来增加或减少刚开始时的初始变 量的值。 实例讲解

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论