版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、FLASH 动作脚本详解FLASH 动作脚本详解一、 FLASH 脚本基础入门讲解. 1二、按钮 AS 的编写 . 4三、影片剪辑的AS 编写 . 5四、动态文本框. 6五、影片剪辑的拖拽. 8六、流程控制与循环语句. 10七、绘图及颜色的AS 的编写 . 12八、声音AS 的编写与控制 . 14九、时间日期的AS 编写 . 17十、点语法以及路径. 18十一、深入了解时间控制. 20十二、无条件转移. 23十三、变量 . 28十四、运算符(一). 33十五、变量(二). 38十六、影片剪辑的属性. 41十七、再讲循环语句. 47十八、影片剪辑处理函数. 53十九、复制影片剪辑. 58二十、深
2、入 startDrag() 与 stopDrag() 61 二十一、 for 循环 . 65二十二、 while 与 do while 循环 . 69 二十三、循环语句的嵌套 . 73二十四、组件 . 75二十五、播放器控制与网页连接以及动画发布输出 . 78 二十六、 loadVariables 命令 . 79二十七、影片剪辑的深度. 80二十八、文本框. 82二十九、超文本标签. 83一、 FLASH 脚本基础入门讲解认识“动作”面板在 Flash 中,动作脚本的编写,都是在“动作”面板的编辑环境中进行,熟悉“动作”面板是十分必要的。按【 F9 】键调出“动作”面板,可以看到“动作”面板的
3、编辑环境由左右两部分组成。左侧部分又分为上下两个窗口。 。左侧的上方是一个“动作”工具箱,单击前面的图标展开每一个条目,可以显示出对应条目下的动作脚本语句元素,双击选中的语句即可将其添加到编辑窗口。下方是一个“脚本”导航器。里面列出了 FLA 文件中具有关联动作脚本的帧位置和对象;单击脚本导航器中的某一项目,与该项目相关联的脚本则会出现在“脚本”窗口中,并且场景上的播放头也将移到时间轴上的对应位置上。双击脚本导航器中的某一项,则该脚本会被固定。右侧部分是“脚本”编辑窗口,这是添加代码的区域。可以直接在“脚本”窗口中编辑动作、输入动作参数或删除动作。也可以双击“动作”工具箱中的某一项或“脚本编辑
4、”窗口上方的【添加脚本】工具 ,向“脚本”窗口添加动作。在“脚本”编辑窗口的上面,有一排工具图标,在编辑脚本的时候,可以方便适时的使用它们的功能。在使用“动作”面板的时候,可以随时点击“脚本”编辑窗口左侧的箭头按钮,以隐藏或展开左边的窗口。将左面的窗口隐藏可以使“动作”面板更加简洁,方便脚本的编辑。好了,动作面板就介绍这些,有个印象,不要求记住,工具栏上每个工具的作用和功能将在以后的课程中边用边熟悉。如何编写 flash 中的脚本首先,要知道编写脚本,不需要用户对AS 有完全的了解!现在要考虑的问题是,如何在你的flash 中添加编写脚本?简单的说,添加脚本可分为两种:一是把脚本编写在时间轴上
5、面的关键桢上面 (注意,必须是关键桢上才可以添加脚本)。二是把脚本编写在对象身上,比如把脚本直接写在MC (影片剪辑元件的实例)上、按钮上面。此外,大家也需要简单理解一下flash 是如何执行你编写的脚本的。当你在时间周的关键桢上添加了脚本,那么当flash 运行的时候,它会首先执行这个关键桢上的脚本,然后才会显示这个关键桢上的对象。还有一些简单的知识,AS 中的对象都包括什么呢?它可以包含数据,也可以是舞台上的电影剪辑,也可以是舞台上的按钮等。既然包含了那么多对象,那么每种对象肯定有各自的属性!比如电影剪辑(movieclip )对象,它的:属性就有 _height( 高度 ),_rotat
6、ion( 旋转 ),等,这些属性不需要你去特意的记忆,当使用的时候可以随时翻阅脚本字典。在以后的教程中会陆续给大家介绍一些基础脚本的使用技巧。二、需要学到的基本AS 命令如下:stop() 、play() 、gotoandplay() 、gotoandstop() 、nextFrame() 、prevFrame();、nextScene()、prevScene();、stopAllSounds();按钮的AS编写规则播放on (release) _root.mc.play();如果要在按钮身上写脚本的话,必须使用on( 事件 )/脚本程序 的格式来写! 上面的脚本作用就是:当你在这个按钮上按一
7、下鼠标(release 事件)的时候,就会执行下面的_root.mc.play(); 程序,它的意思是让舞台上的mc 开始播放!6、同理:咱们选中舞台上的暂停按钮,在它上面输入:on (release) _root.mc.stop()然后依次在快退上输入:on (release) _root.mc.prevFrame(); /prevFrame表示回到动画的上一桢在快进的按钮上输入:on (release) _root.mc.nextFrame();在停止的按钮上输入:on (release) _root.mc.gotoAndStop(1); /跳到 mc 影片的第一桢,并停止播放!二、按钮
8、AS 的编写在 flash 中的交互功能一般是由按钮来完成的。 掌握按钮的编写规则也是一个闪客的基本技能。OK ,现在咱们来说说按钮脚本如何编写。上一讲中提过,AS 脚本编写可以写在时间轴的关键桢上,也可以写在对象本身上面。按钮也不例外,既可以写在时间轴上,也可以写在按钮本身上面。只不过这两种编写规则都要遵循一定的规矩,这是后话。现在咱们来做一个例子, 做一个按钮, 这个按钮要实现的功能就是打开一个指定的网页。(这个例子非常基础, 用这个例子来讲解按钮 AS 两种编写方法。)第一种:把脚本写在按钮本身。一、 在舞台上绘制一个矩形,选中矩形并按F8 ,将这个矩形转换成按钮元件。二、编写动作脚本:
9、选中按钮,按 F9 ,打开动作面板,在专家模式下输入以下脚本:on(release)getURL(现在这个按钮就实现了一个打开网页的功能。通过例子你应该注意到,按钮的AS 书写规则就是:on( 事件 )/要执行的脚本程序,刚才的例子是用getURL来打开一个网页。你也可以使用脚本程序来执行其他功能,例如跳转到某一个桢,或载入外部一个动画文件。大可以看到,其实就一个on 语句,这个on 语句就是按钮的 AS 编写规则了。需要注意的是on 里面的事件, 这个事件你可以理解为是鼠标或键盘的动作。刚才的例子我们使用的事件是release (按一下鼠标)我现在把常用的按钮事件列出来:事件名字说明Pres
10、s事件发生于鼠标在按钮上方,并按下鼠标Release发生在按钮上方按下鼠标,接着松开鼠标时。也就是“按一下”鼠标Releaseoutside发生于在按钮上方按下鼠标,接着把光标移动到按钮之外,然后松开鼠标Rollover当鼠标滑入按钮时Rollout当鼠标滑出按钮时Dragover发生于按着鼠标不放,光标滑入按钮Dragout发生于按着鼠标不放,光标滑出按钮Keypress发生于用户按下特定的键盘按键时下面来看看第二种按钮AS 的编写方法。这种方法是把脚本程序写在时间轴上,而不是按钮本身上面。一、选中按钮,在下面的属性面板中为按钮起一个名字,这里我起了一个bt二、选中时间轴的第一桢,按F9 打
11、开动作面板。输入如下脚本:bt.onrelease = function() getURL(http:/ _blank); ;这种编写AS 的方法要遵循的规则就是下面的公式而已:按钮实例的名字.事件名称 =function()/要执行的脚本程序。大家只要记住这个公式就可以套用了。按钮的AS就先将到这了, 这个可以算是基本技能了。希望大家都能掌握。三、影片剪辑的AS 编写影片剪辑在flash 中可以说是使用最多的一种元件了,那么对于它的 AS 也是不少。在讲解之前, 我还是要重新说一下电影剪辑AS 的编写规则,和上次讲按钮一样,分为两种,一种是写在电影剪辑本身上,一种是写在时间轴上面。一、首先我
12、们先来做个简单的小例子。或许你不用AS 就能做出一个小球的移动动画。但是如果让你用AS 来实现小球的移动呢?下面来看看如何用AS 来实现吧。在这个例子里,你首先会了解到如何在电影剪辑本身上编写AS ,以及编写规则。1、 新建立一个影片剪辑元件,里面你就随便画一个圆吧。之后把这个影片剪辑拖放到舞台之中(也就是创建一个此影片剪辑的实例)2、 现在开始编写脚本,选中这个MC ,按F9。打开动作面板,按照图01 显示选择onClipEvent ,之后在显示的事件中选择enterFrame ,然后在里面编写脚本如下:this._x+=5这个脚本编写之后应该是:onClipEvent (enterFram
13、e) / enterFrame的意思四以影片帧频不断地触发此动作this._x += 5; /this代表这个影片剪辑自身。_x 表示影片剪辑的 X 轴坐标。呵呵,按下你的ctrl+ 回车测试一下吧, 一个简单的移动动画就搞定了。从这个例子咱们不难看出,如果把AS 写在影片剪辑本身上,那么它是有自己的书写格式的。正确的书写格式就是:onClipEvent ( 事件 ) /需要执行的脚本程序这个可以看成是公式,你记住就行了,是写在影片剪辑身上的。括号里的“事件”其实是个触发器, 当事件发生时, 执行该事件后面花括号中的语句。,具体有哪些事件,我把它们都列出来。- load 影片剪辑一旦被实例化并
14、出现在时间轴中时,即启动此动作。- unload 在从时间轴中删除影片剪辑之后, 此动作在第一帧中启动。处理与 Unload 影片剪辑事件关联的动作之前,不向受影响的帧附加任何动作。- enterFrame 以影片帧频不断地触发此动作。- mouseMove 每次移动鼠标时启动此动作。 _xmouse 和_ymouse属性用于确定当前鼠标位置。- mouseDown 当按下鼠标左键时启动此动作。- mouseUp 当释放鼠标左键时启动此动作。- keyDown 当按下某个键时启动此动作。使用Key.getCode方法获取最近按下的键的有关信息。- keyUp当释放某个键时启动此动作。使用Key
15、.getCode方法获取最近按下的键的有关信息。- data 当在 loadVariables 或 loadMovie 动作中接收数据时启动此动作。当与loadVariables动作一起指定时,data事件只发生一次,即加载最后一个变量时。当与loadMovie动作一起指定时,获取数据的每一部分时,data事件都重复发生。了解了事件之后,你可以自己试着修改一下脚本,如果让你们点一下鼠标,舞台上的圆就移动一下,该怎么做呢?关于把AS写在影片剪辑本身的例子先讲到这,下面来看看如果把AS写在时间轴上面的话,应该怎么写。首先你把刚才的脚本去掉。然后需要为这个影片剪辑实例起一个名字,比如起名为mc在选中
16、时间轴的第一桢,打开动作面板,输入以下脚本:mc.onEnterFrame = function() this._x += 5; / 你也可以把这句改为mc._x+=5自己想一下为什么。;显而易见,在时间轴上的写法就应该套用以下公式:实例名 .事件名称 =function()/脚本程序需要注意的是,这种写法的事件名称不要忘了在前面加一个on ,比如,事件如果是enterframe的话,你就应该写成onenterframe下面简单说一下影片剪辑的属性。比如,影片剪辑有自己的X、Y 轴坐标,有自己的透明度 (_alpha) ,这些都是它的属性。那么如何使用这些属性呢?你可以使用“点”语法来对属性进
17、行设置。把上面的脚本修改一下。mc.onenterframe = function() mc._x += 5;mc._alpha = random(100);这里我加了一句this._alpha = random(100),它是设置影片剪辑的透明度的,使用的语句就是 _alpha 。后面的 random() 函数是随机选取一个100 以内的数字作为它的透明度。从这个句子可以看出,“点”语法使用方法就是:实例名.属性( mc._alpha ),你甚至可以简单理解为“点”就是“的”,那this么._alpha 这句你就可以理解为:影片剪辑 mc 的透明度上面的脚本mc._alpha = rando
18、m(100)也可以改为 _root.mc._alpha = random(100)那么,你就可以理解为:舞台上的影片剪辑mc 的透明度是随机选择内的值。四、动态文本框一、 flash中的动态文本使用方法在 flash 中,文本工具提供了三种文本类型。分别是:静态文本、动态文本和输入文本。下面讲解的内容属于动态文本的 AS 编写规则。要创建一个动态文本非常简单,只需要 选中文本工具,然后选择动态文本类型,然后在舞台上拖拽出所需要的动态文本框就行了。二、如何为动态文本赋值当在舞台上拖拽出动态文本框之后,可以直接在里面进行文本输入或粘贴外部文本内容。那么用AS 如何来对动态文本框赋值呢?在这里为大家
19、介绍两种方法进行赋值!1、使用动态文本的实例名字来赋值操作步骤:( 1)在舞台上创建一个动态文本框,并为这个动态文本实例起一个名字,例如abc(2)选中时间轴的第一桢,打开动作面板, 输入以下脚本:abc.text = 爱国者安全网 按下ctrl+ 回车就可进行测试了。 从这个简单的例子可以知道,如果要用文本实例名字来进行赋值的话,必须使用以下格式:动态文本实例的名字 .text=”需要赋值的内容”2、使用变量来赋值( 1)在舞台上创建一个动态文本框,并为这个动态文本实例起一个变量名3800hk 。(2)选中时间轴的第一桢,打开动作面板, 输入以下脚本:3800hk= 欢迎大家来到爱国者安全网
20、学习!不难看出,使用变量赋值更为简单实用!赋值格式为:变量名 =“赋值的内容”以上两种赋值方法如果内容过多需要换行的时候,需要使用行用回车符(“r ”即 ASCII13 )分隔!三、如何载入外部 txt 文本里的内容当内容过多的时候,使用上面的方法并不是太好,我们可以使用下面的方法,从外部获 取文本资料内容!而外部的资料内容就放在一个普通的 txt (记事本)文件中。具体操作步骤如下:1、创建一个动态文本实例,并为这个动态文本实例起一个变量名hk2、选中时间轴的第一桢,打开动作面板,输入以下脚本:loadVariablesNum(heiying.txt, 0);/载入外部名字叫heiying.
21、txt的文本文件 ,加载级别为 03、现在来准备外部的heiying.txt文本文件了。注意:要把这个文本文件和你刚才做的flash 文件放在一个文件夹里!这个txt 文件里的资料应该按照如下格式编写:flash 中动态文本变量的名字= 这里就是所需要的资料内容。对应上面的格式,外部heiying.txt中的内容为:hk= 欢迎大家来到爱国者安全网学习!。最后一点,需要将这个文本文件保存为UTF-8格式。4、 完成以上步骤之后,就可以进行测试了。下面介绍另外一种载入外部文本资料的方法,并介绍当文本内容过多时候,如何使用滚动条组件( 1)创建一个动态文本实例,并并为这个动态文本实例起一个实例名字
22、 anquan(注:是实例名而不是变量名)起一个变量名为hk(2)打开flash的组件面板(快捷键ctrl+F7 ),找到UIScrollBar (滚动条)组件。按着它不动,然后拖放此组件至刚才的动态文本实例的右部边缘,如果成功的话,组件会和文本框结合在一起!(3)选中舞台第一桢,编写如下脚本:tt = new LoadVars();/创建一个LoadVars对象的实例,这里的实例名字叫tttt.load(heiying.txt);/创建的tt 实例需要载入的对象是heiying.txt文本文件。tt.onLoad = function(s) /开始载入外部文件, 具体格式请按照此例格式。参数
23、s是指示load操作是否成功完成。如果完成,那么S 的值就为true(真 ),反之为 false( 假 ) if (s) anquan.text = tt.hk;/ 如果载入成功, 则 anquan 文本框中的内容就等于 tt. 实例中的 heiying 的内容!(hk 是我们 外部文本文件中的变量。 );(4) 至于外部的 heiying.txt 还可以使用刚才所创建的文本文件 ,为了测试滚动条的效五、影片剪辑的拖拽在网上经常看到的 flash 影片中有的对象可以被鼠标进行拖动。例如有的类似七巧板的拼图游戏,控制音量的滑杆等,所使用的就是flash中的拖拽动作。一、拖拽命令详细介绍、 首先介
24、绍一下开始拖拽命令的详细用法,稍后在后面的例子中进行测试。命令格式: StartDrag( 要拖动的影片剪辑 ,是否锁定到鼠标位置中央 ,左 ,上,右,下 )或写为要拖动的影片剪辑 .StartDrag( 是否锁定到鼠标位置中央 ,左 ,上,右,下)命令讲解:在制作动画的过程中,上面两种书写方法可任选一种。其中内的为可选参数, 也就是可以写, 也可以不写。 至于左,上,右,下四个参数是用来控制被拖对象的移动范围。、停止拖拽命令讲解命令格式:被拖动的影片剪辑实例名.stopDrag()这样就可以停止对对象的拖拽动作。二、实例讲解下面来用一个简单的例子实验拖拽命令。操作步骤:、新建一个flash文
25、档,并在舞台上绘制一个圆形。选中圆形并按,将此圆形转换为影片剪辑,起名为:圆。确定后将会在舞台上创建一个圆的实例。、选中此实例,并按打开动作面板。输入如下脚本:on (press) this.startDrag(true);/当鼠标按下( press )之后,这个实例(因为我们把脚本写在实例本身了,所以这里用this代替影片剪辑实例的名字)可以被拖拽,使用命令如上面的命令解释。对于参数的选择方面,这里只填写了锁定到鼠标位置中央,如果想选不锁定到鼠标位置中央,可以把 true 改为 false 。有兴趣的朋友可以更改为false 看看。on (release) this.stopDrag();/
26、同样道理,当鼠标释放(release )之后,将停止拖拽动作。、好了,现在让我们按 Ctrl+ 回车来测试一下吧,你将会看到舞台上的圆被你的鼠标拖动的效果。、,通过这个例子我们可以简单的应用拖拽动作了。现在需要把这个例子继续完成,还记得上面命令讲解中的左,上,右,下四个控制拖动范围的参数吗?现在来制作具有约束拖动范围的效果。、现在在舞台上绘制一个*大小的矩形,注意只要边框不要填充。、如果我们希望在拖动的时候这个圆只能在矩形内拖动的话,就要先设置这个矩形的坐标,并记下矩形四个顶点的坐标(这点很重要!)。,比如,现在此例子中的矩形的四个顶点分别如上图所示。那我们要取的四个参数就应该是:左,上,右,
27、下现在打开动作面板,修改刚才的脚本如下:on (press) this.startDrag(true, 50, 100, 250, 200);/这里我们就使用刚才确定好的个参数。个点的参数就对拖动对象实现了一个矩形区域的移动约束!on (release) this.stopDrag();、好了,按Ctrl+ 回车去测试吧!好了,关于拖拽的讲解先到这里,下面我们来学习如何结合着拖拽动作来检测对象之间的碰撞!三、碰撞命令的讲解命令格式: 目标影片剪辑的实例 .hihkest( 被拖拽的实例 ) 这个是比较简单的检测碰撞命令目标影片剪辑的实例.hihkest( 被拖拽实例的轴坐标,被拖拽实例的轴坐标
28、, 对象的矩形区域范围还是对象本身范围 ) 这个是比较复杂点的检测碰撞命令命令解释:以上两个命令都是用来检测碰撞的,可以根据需要选择不同的命令。重点解释一下对象的矩形区域范围和对象本身范围(上面的命令中,false表示对象的矩形区域范围,true 表示对象本身的范围)四、碰撞命令与拖拽命令的结合使用(一)、下面通过简单的例子来学习碰撞命令(我们先来学习如何检测是否碰到对象的矩形区域范围)、新建一个 flash 文档,在舞台上绘制一个圆形。选中圆形并按将它转换为影片剪辑,起名:圆 。这样就在舞台上创建了一个圆的实例。、选中此实例,为它起一个名字,此例起名为: yuan 、选择文字工具,并选择文字
29、类型为“动态文本”,在圆的实例下面拖绘出一个动态文本框。并起一个变量名为:hk、选中时间轴的第一桢,按打开动作面板,输入以下脚本:_root.onEnterFrame = function() /这个是在时间轴上的编写规则,解释为舞台上每桢都执行下面的脚本(onEnterFrame)。if (_root.yuan.hitTest(_root._xmouse, _root._ymouse, false)/根据上面命令的讲解,这个语句就是检测碰撞了。如果鼠标碰到舞台上yuan 这个实例的矩形区域范围的话,就执行下面的脚本。hk = 接触矩形区域范围;/动态文本框就显示出“接触矩形区域范围” els
30、e hk = 没有接触到矩形区域范围;/如果鼠标没有碰到舞台上yuan这个实例的矩形区域范围的话,就显示没有接触到矩形区域范围。;现在可以按Ctrl+ 回车去测试我们的成果(二)、拖拽碰撞检测现在再来一个例子讲解拖拽碰撞检测,想偷懒的话可以通过修改上面例子的代码来学习。、现在稍微修改一下上面的例子,以便让我们学习拖拽碰撞检测,在上面例子的舞台上绘制一个矩形,并把这个矩形转换成电影剪辑,起名为:矩形。这样就在舞台上又创建了一个矩形的实例,现在为这个矩形实例起一个名为:juxing。、选中这个矩形实例,打开动作面板,输入可以拖拽这个实例的脚本。如下:on (press) this.startDra
31、g(true);on (release) this.stopDrag();这个脚本就是为了能拖动这个矩形实例。具体解释请回顾第一个拖动对象例子的脚本说明。、现在来修改脚本,选中时间轴的第一桢,按打开动作面板,你将会看到上个例子的碰撞检测脚本,把它修改为如下脚本:_root.onEnterFrame = function() if (_root.yuan.hitTest(_root.juxing) hk = 碰到了 ; else hk = 没有碰到 ;这个脚本和上次的碰撞检测脚本类似,只不过不需要再书写轴和轴,也不用写是否碰到矩形区域范围。简单吧现在又到了测试阶段了,去观看你的成果六、流程控制与
32、循环语句众所周知, flash 中动画依靠的是时间轴, 在没有脚本的情况下,动画会依照时间轴从第一帧不停的播放到最后一帧,然后始重复播放或者干脆停止。为了能更好的控制动画,就必须使用脚本语句。而要想使动画具有逻辑判断的功能,就要使用流程控制和循环控制语句了!下面通过几个简单的小例子来学习流程与循环控制语句。一、流程控制语句所谓流程控制,无非就是我们想控制动画程序的执行顺序而已。我们可以让flash 根据一些特定的条件,来决定要执行哪个程序。这样就好象给了程序一些判断的机制。if.else 控制语句根据英文的意思,大家可以简单的理解上面的控制语句:如果.就 .否则.就 . 下面来看看这个流程控制
33、语句的书写格式。if( 条件 )/条件成立的话,就执行这里的程序。else/条件不成立的话就执行这里的程序。下面重点说一下if 后面括号内的条件。这个条件可以是一个固定的值,也可以是一个变量或表达式。如果条件成立的话,也就是条件为真( true ),就会执行if 后面的程序,如果条件不成立,也就是条件为假(false ),就会执行else 里的程序。例如:有这么一个条件,A>B将这个表达式代入 if 后面的括号内, 这个流程语句的意思就变成:如果 A>B 的话,就执行第一个大括号内的程序,如果不大于,就将执行else 后面大括号内的程序。实例讲解:、新建一个flash 文档,在舞台
34、上绘制一个圆,选中圆并按转换成影片剪辑,起名为:圆这样就在舞台上创建一个圆的实例。、选中舞台上的实例,按打开动作面板,输入如下脚本:onClipEvent (enterFrame) if (this._x<400) /流程条件控制语句,如果这个圆的实例的轴坐标小于,就执行后面的程序。this._x += 5;/ 让这个圆的坐标向右移动个象素 else this._x = 0;/ 控制语句, 如果刚才的条件不成立。也就是圆实例的坐标不小于,就让它的坐标为上面的脚本是一个非常简单的流程控制语句,根据实例的坐标来进行判断。因为我们使用了enterFrame事件,所以flash 会不停的执行下面
35、if.else 语句。、测试影片。会看到圆不停的向右移动,当它的坐标大于或等于的时候,程序会把它的坐标重新更改为。二、循环控制语句所谓的循环语句, 其实也是用条件来控制的,只要条件成立,那么,程序就会不停的执行下去,一直执行到条件不成立为止!常用的循环语句包括 while 循环、 for 循环等。因为篇幅有限,下面只重点讲解for 循环的使用方法。For 循环命令格式:for( 初始变量;条件语句;迭加命令语句)/用户自己编写的脚本。首先强调一点,for 语句的括号内有三个项目,必须要用分号间隔开!初始变量:循环语句也是用条件是否成立来控制的,通常我们用一个变量来控制程序执行的次数。那么,这个
36、初始变量就要先定义一个值。要注意的是,初始变量这个项目只执行一次!条件语句:这个项目就是我们的判断语句了。如果这个项目判断为真( true ),也就是条件成立了。它就直接跳进大括号内执行里面的程序!反之,如果条件为假(false ),它就直接跳出这个for 语句了。迭加命令语句:接上面的条件语句,如果条件语句成立,会执行内的程序,那么执行完程序之后,就要回来执行迭加命令语句了。通常它就用来增加或减少刚开始时的初始变量的值。实例讲解:、新建一个 flash 文档,在舞台上绘制一个圆,选中圆并按转换成影片剪辑,起名为:圆这样就在舞台上创建一个圆的实例。、为这个实例起名为:yuan、添加一个新的层,
37、并选中新层的第一帧,按打开动作面板,输入如下脚本:for (i=1; i<5; i+) duplicateMovieClip(yuan, yuan+i, i);_rootyuan+i._x = random(400);_rootyuan+i._y = random(300);_rootyuan+i._alpha = random(100);如果大家实在觉得语言执行的顺序把fori=1语言很难读懂的话,你可以按照代入程序for走一遍,可以帮助你理解程序。例如:当i 等于的时候,程序开始判断它是否小于,那么肯定小于了,条件为真,就执行内的复制程序,同时复制出来的新实例的名字就变成了yuan1
38、,接着就是设置yuan1的坐标和透明度。 之后, for语句开始回去执行i+ ,此时,i的值就变为了。 然后又开始循环判断执行下去.(你可以算一下,这个for 循环总共循环了几次呢?答案是次。)、选中时间轴的第帧,按插入一关键帧,打开动作面板输入以下脚本:gotoAndPlay(1);让 flash播放到第帧的时候返回第帧再来执行for循环语句。、测试效果吧, 你会看到舞台上会循环次复制出个圆。希望大家能通过这两个简单的例子掌握流程控制语句和循环控制语句七、绘图及颜色的AS 的编写在使用 flash 的过程中,难免会进行绘图的操作。除了用工具面板上的工具绘制图形之外,我们也可以使用Action
39、Script来绘制图形。如何绘制线段及命令解释lineStyle( 粗细,颜色,透明度) / 设置绘制图形的线条粗细、颜色和透明度Moveto( 坐标,坐标) / 设置绘图线条的起点坐标lineto( 坐标,坐标) / 设置线条的结束坐标现在就用刚才的三个命令在舞台上绘制出来一个*大小的矩形。步骤:、新建立一个flash 文档。、既然要绘制一个*大小的矩形,我们就要先确定矩形个顶点的坐标,然后就可以使用lineto 命令进行编写了。、选中时间轴的第一桢,打开动作面板。现在已经确定了矩形的个顶点,那么我们就可以来编写脚本命令了,请输入以下脚本:_root.lineStyle(1, 0x00000
40、0, 100);/设置线条的粗细,颜色和透明度_root.moveTo(50, 50);/设置开始点的坐标。_root.lineTo(350, 50);_root.lineTo(350, 150);_root.lineTo(50, 150);_root.lineTo(50, 50); /设置结束点坐标,整个矩形绘制完毕相信大家通过上面的命令就很容易的用绘制出所需要的形状,充分发挥你的想象力,可以通过 lineto 命令来设置多个点,从而创造出各种各样的形状。熟悉了绘制线条的命令之后我们来用一个例子加深印象。操作步骤:、新建立一个flash文档,在舞台上绘制一个圆,选中它并按转换成影片剪辑,起名
41、为:圆。、打开库面板,请将影片剪辑“圆”在舞台上再拖放一个实例,使舞台上存在两个圆的实例。、现在为舞台上两个实例分别起名字为a 和 b、选中时间轴第一桢,打开动作面板,输入以下脚本: function draw() / 自己定义一个函数,这个函数起名为 draw (可自定),函数的功能是要实现以a 实例的坐标为起点,向b 实例绘制线条。_root.hkear();/ 清除舞台上绘制的线条。_root.lineStyle(1, 0x000000, 90);/设置线条的粗细,颜色和透明度。_root.moveTo(a._x, a._y);/以 a 实例的坐标为起点开始绘制线条。_root.line
42、To(b._x, b._y);/以 b 实例的坐标为绘制线条的结束点。draw();/ 执行函数draw ,它将会在 a 与 b 之间绘制出一条黑色的线条。解释:为了减轻编写的工作量和程序的重复率,可以将某些功能定义为一个函数,例如上面的draw() ,在使用的时候, 直接执行定义过的函数,就可以完成函数的功能。、现在创建拖动效果,选中舞台上的b 实例,打开动作面板,输入以下脚本:on (press) /点击此实例,开始拖动this.startDrag(true);on (release) /释放鼠标,停止拖动this.stopDrag();onClipEvent (mouseMove) /当鼠标移动,也就是这个b实例移动的时候,就执行里面的程序。_root.draw();/ 执行舞台上定义过的draw() 函数,开始在a与 b 之间绘制线条。updateAfterEvent();/强制更新画面,是整个动画更加流畅。按 Ctrl+ 回车测试动画效果。二、颜色命令讲解setRGB()用来设置实例的颜色值,注意,这个值用进制表示,例如0x000000(黑色)getRBG()获取实例的颜色值下面用一个相对简单的例子来说明颜色命令的使用以及如何填充颜色要想使用颜色命令,我们必须先构建一个Colo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度研发合同:新药研发合作协议(2024版)
- 2024年度纺织品出口与贸易合同3篇
- 2024年度保险代理合同保险产品明细
- 2024年度版权许可合同:关于音乐作品的线上播放许可权
- 二零二四年城市地下管廊建设项目拆迁合同
- 二零二四年度城市户外广告摊位租赁合同
- 2024年度航空航天器零部件采购与制造合同
- 二零二四年度加工承揽合同标的及工作量计算
- 2024年度存量房买卖双方权益保障协议
- 二零二四年度铝合金自行车制造合同
- Opera操作流程实用教案
- 智力活动、商业方法申报专利技巧漫谈
- 甘肃托儿所幼儿园卫生保健管理实施细则
- 关于自然数平方和公式的十种证明方法
- 冀教四年级数学《垂线的认识》及教学反思
- 注册证书协议书
- 县教育局道路交通安全情况汇报
- 企业年金方案如何设计
- 临床路径总结、分析模板.doc
- 北师大版初中数学七年级上册《探索与表达规律》说课稿
- 应对动物福利壁垒的对策和建议
评论
0/150
提交评论