




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、详解一、FLASH脚本基础入门讲解1二、按钮AS的编写4三、影片剪辑的AS编写5四、动态文本框6五、影片剪辑的拖拽8六、流程控制与循环语句10七、绘图及颜色的AS的编写12八、声音AS的编写与控制14九、时间日期的AS编写17十、点语法以及路径18十一、深入了解时间控制20十二、无条件转移25十三、变量29十四、运算符(一)35十五、变量(二)39十六、影片剪辑的属性43十七、再讲循环语句49十八、影片剪辑处理函数55十九、复制影片剪辑60二十、深入startDrag()与stopDrag()63二十一、for循环67二十二、while与dowhile循环71二十三、循环语句的嵌套75二十四、
2、组件77二十五、播放器控制与网页连接以及动画发布输出80二十六、loadVariables命令81二十七、影片剪辑的深度82二十八、文本框84二十九、超文本标签85一、FLASH脚本基础入门讲解认识“动作”面板在Flash中,动作脚本的编写,都是在“动作”面板的编辑环境中进行,熟悉“动作”面板是十分必要的。按【F9】键调出“动作”面板,可以看到“动作”面板的编辑环境由左右两部分组成。左侧部分又分为上下两个窗口左侧的上方是一个“动作”工具箱,单击前面的图标展开每一个条目,可以显示出对应条目下的动作脚本语句元素,双击选中的语句即可将其添加到编辑窗口。下方是一个“脚本”导航器。里面列出了FLA文件中
3、具有关联动作脚本的帧位置和对象;单击脚本导航器中的某一项目,与该项目相关联的脚本则会出现在“脚本”窗口中,并且场景上的播放头也将移到时间轴上的对应位置上。双击脚本导航器中的某一项,则该脚本会被固定。右侧部分是“脚本”编辑窗口,这是添加代码的区域。可以直接在“脚本”窗口中编辑动作、输入动作参数或删除动作。也可以双击“动作”工具箱中的某一项或“脚本编辑”窗口上方的【添加脚本】工具,向“脚本”窗口添加动作。在“脚本”编辑窗口的上面,有一排工具图标,在编辑脚本的时候,可以方便适时的使用它们的功能。在使用“动作”面板的时候,可以随时点击“脚本”编辑窗口左侧的箭头按钮,以隐藏或展开左边的窗口。将左面的窗口
4、隐藏可以使“动作”面板更加简洁,方便脚本的编辑。好了,动作面板就介绍这些,有个印象,不要求记住,工具栏上每个工具的作用和功能将在以后的课程中边用边熟悉。如何编写flash中的脚本首先,要知道编写脚本,不需要用户对AS有完全的了解!现在要考虑的问题是,如何在你的flash中添加编写脚本?简单的说,添加脚本可分为两种:一是把脚本编写在时间轴上面的关键桢上面(注意,必须是关键桢上才可以添加脚本)。二是把脚本编写在对象身上,比如把脚本直接写在MC(影片剪辑元件的实例)上、按钮上面。此外,大家也需要简单理解一下flash是如何执行你编写的脚本的。当你在时间周的关键桢上添加了脚本,那么当flash运行的时
5、候,它会首先执行这个关键桢上的脚本,然后才会显示这个关键桢上的对象。还有一些简单的知识,AS中的对象都包括什么呢?它可以包含数据,也可以是舞台上的电影剪辑,也可以是舞台上的按钮等。既然包含了那么多对象,那么每种对象肯定有各自的属性!比如电影剪辑(movieclip)对象,它的:属性就有_height(高度),_rotation(旋转),等,这些属性不需要你去特意的记忆,当使用的时候可以随时翻阅脚本字典。在以后的教程中会陆续给大家介绍一些基础脚本的使用技巧。二、需要学到的基本AS命令如下:stop()、play()、gotoandplay()、gotoandstop()、nextFrame()、
6、prevFrame();、nextScene()、prevScene();、stopAllSounds();按钮的AS编写规则播放on(release)_root.mc.play();如果要在按钮身上写脚本的话,必须使用on(事件)/脚本程序的格式来写!上面的脚本作用就是:当你在这个按钮上按一下鼠标(release事件)的时候,就会执行下面的_root.mc.play();程序,它的意思是让舞台上的me开始播放!6、同理:咱们选中舞台上的暂停按钮,在它上面输入:on(release)_root.mc.stop()然后依次在快退上输入:on(release)_root.mc.prevFrame(
7、);/prevFrame表示回到动画的上一桢在快进的按钮上输入:on(release)_root.mc.nextFrame();在停止的按钮上输入:on(release)_root.mc.gotoAndStop(1);/跳到me影片的第一桢,并停止播放!二、按钮AS的编写在flash中的交互功能一般是由按钮来完成的。掌握按钮的编写规则也是一个闪客的基本技能。OK,现在咱们来说说按钮脚本如何编写。上一讲中提过,AS脚本编写可以写在时间轴的关键桢上,也可以写在对象本身上面。按钮也不例外,既可以写在时间轴上,也可以写在按钮本身上面。只不过这两种编写规则都要遵循一定的规矩,这是后话。现在咱们来做一个例
8、子,做一个按钮,这个按钮要实现的功能就是打开一个指定的网页。(这个例子非常基础,用这个例子来讲解按钮AS两种编写方法。)第一种:把脚本写在按钮本身。一、在舞台上绘制一个矩形,选中矩形并按F8,将这个矩形转换成按钮元件。二、编写动作脚本:选中按钮,按F9,打开动作面板,在专家模式下输入以下脚本:on(release)getURL("现在这个按钮就实现了一个打开网页的功能。通过例子你应该注意到,按钮的AS书写规则就是:on(事件)/要执行的脚本程序,刚才的例子是用getURL来打开一个网页。你也可以使用脚本程序来执行其他功能,例如跳转到某一个桢,或载入外部一个动画文件。大可以看到,其实就
9、一个on语句,这个on语句就是按钮的AS编写规则了。需要注意的是on里面的事件,这个事件你可以理解为是鼠标或键盘的动作。刚才的例子我们使用的事件是release(按一下鼠标)我现在把常用的按钮事件列出来:事件名字说明Press事件发生于鼠标在按钮上方,并按下鼠标Release发生在按钮上方按下鼠标,接着松开鼠标时。也就是“按一下”鼠标Releaseoutside发生于在按钮上方按下鼠标,接着把光标移动到按钮之外,然后松开鼠标Rollover当鼠标滑入按钮时Rollout当鼠标滑出按钮时Dragover发生于按着鼠标不放,光标滑入按钮Dragout发生于按着鼠标不放,光标滑出按钮Keypress
10、发生于用户按下特定的键盘按键时下面来看看第二种按钮AS的编写方法。这种方法是把脚本程序写在时间轴上,而不是按钮本身上面。一、选中按钮,在下面的属性面板中为按钮起一个名字,这里我起了一个bt二、选中时间轴的第一桢,按F9打开动作面板。输入如下脚本:bt.onrelease=function()getURL("http:/;这种编写AS的方法要遵循的规则就是下面的公式而已:按钮实例的名字.事件名称=function()/要执行的脚本程序。大家只要记住这个公式就可以套用了。按钮的AS就先将到这了,这个可以算是基本技能了。希望大家都能掌握。三、影片剪辑的AS编写影片剪辑在flash中可以说是
11、使用最多的一种元件了,那么对于它的AS也是不少。在讲解之前,我还是要重新说一下电影剪辑AS的编写规则,和上次讲按钮一样,分为两种,一种是写在电影剪辑本身上,一种是写在时间轴上面。一、首先我们先来做个简单的小例子。或许你不用AS就能做出一个小球的移动动画。但是如果让你用AS来实现小球的移动呢?下面来看看如何用AS来实现吧。在这个例子里,你首先会了解到如何在电影剪辑本身上编写AS,以及编写规则。1、新建立一个影片剪辑元件,里面你就随便画一个圆吧。之后把这个影片剪辑拖放到舞台之中(也就是创建一个此影片剪辑的实例)。2、现在开始编写脚本,选中这个MC,按F9打开动作面板,按照图01显示选择onClip
12、Event,之后在显示的事件中选择enterFrame,然后在里面编写脚本如下:this._x+=5这个脚本编写之后应该是:onClipEvent(enterFrame)/enterFrame的意思四以影片帧频不断地触发此动作this._x+=5;/this代表这个影片剪辑自身。_x表示影片剪辑的X轴坐标。呵呵,按下你的ctrl+回车测试一下吧,一个简单的移动动画就搞定了。从这个例子咱们不难看出,如果把AS写在影片剪辑本身上,那么它是有自己的书写格式的。正确的书写格式就是:onClipEvent(事件)/需要执行的脚本程序这个可以看成是公式,你记住就行了,是写在影片剪辑身上的。括号里的“事件”
13、其实是个触发器,当事件发生时,执行该事件后面花括号中的语句。,具体有哪些事件,我把它们都列出来。- load影片剪辑一旦被实例化并出现在时间轴中时,即启动此动作。- unload在从时间轴中删除影片剪辑之后,此动作在第一帧中启动。处理与Unload影片剪辑事件关联的动作之前,不向受影响的帧附加任何动作。- enterFrame以影片帧频不断地触发此动作。- mouseMove每次移动鼠标时启动此动作。_xmouse和_ymouse属性用于确定当前鼠标位置。- mouseDown当按下鼠标左键时启动此动作。- mouseUp当释放鼠标左键时启动此动作。- keyDown当按下某个键时启动此动作。
14、使用Key.getCode方法获取最近按下的键的有关信息。- keyUp当释放某个键时启动此动作。使用Key.getCode方法获取最近按下的键的有关信息。- data当在loadVariables或loadMovie动作中接收数据时启动此动作。当与loadVariables动作一起指定时,data事件只发生一次,即加载最后一个变量时。当与loadMovie动作一起指定时,获取数据的每一部分时,data事件都重复发生。了解了事件之后,你可以自己试着修改一下脚本,如果让你们点一下鼠标,舞台上的圆就移动一下,该怎么做呢?关于把AS写在影片剪辑本身的例子先讲到这,下面来看看如果把AS写在时间轴上面的
15、话,应该怎么写。首先你把刚才的脚本去掉。然后需要为这个影片剪辑实例起一个名字,比如起名为mc在选中时间轴的第一桢,打开动作面板,输入以下脚本:mc.onEnterFrame=function()this._x+=5;/你也可以把这句改为mc._x+=5自己想一下为什么。;显而易见,在时间轴上的写法就应该套用以下公式:实例名.事件名称=function()/脚本程序需要注意的是,这种写法的事件名称不要忘了在前面加一个on,比如,事件如果是enterframe的话,你就应该写成onenterframe下面简单说一下影片剪辑的属性。比如,影片剪辑有自己的X、Y轴坐标,有自己的透明度(_alpha),
16、这些都是它的属性。那么如何使用这些属性呢?你可以使用“点”语法来对属性进行设置。把上面的脚本修改一下。mc.onenterframe=function()mc._x+=5;mc._alpha=random(100);这里我加了一句this._alpha=random(100),它是设置影片剪辑的透明度的,使用的语句就是_alpha。后面的random()函数是随机选取一个100以内的数字作为它的透明度。从这个句子可以看出,“点”语法使用方法就是:实例名.属性(mc._alpha),你甚至可以简单理解为“点”就是“的”,那么this._alpha这句你就可以理解为:影片剪辑me的透明度上面的脚本
17、mc._alpha=random(100)也可以改为_root.mc._alpha=random(100)那么,你就可以理解为:舞台上的影片剪辑me的透明度是随机选择100内的值。四、动态文本框一、flash中的动态文本使用方法在flash中,文本工具提供了三种文本类型。分别是:静态文本、动态文本和输入文本。下面讲解的内容属于动态文本的AS编写规则。要创建一个动态文本非常简单,只需要选中文本工具,然后选择动态文本类型,然后在舞台上拖拽出所需要的动态文本框就行了。二、如何为动态文本赋值当在舞台上拖拽出动态文本框之后,可以直接在里面进行文本输入或粘贴外部文本内容。那么用AS如何来对动态文本框赋值呢
18、?在这里为大家介绍两种方法进行赋值!1、使用动态文本的实例名字来赋值操作步骤:(1)在舞台上创建一个动态文本框,并为这个动态文本实例起一个名字,例如abc(2)选中时间轴的第一桢,打开动作面板,输入以下脚本:abc.text="爱国者安全网"按下ctrl+回车就可进行测试了。从这个简单的例子可以知道,如果要用文本实例名字来进行赋值的话,必须使用以下格式:动态文本实例的名字.text=”需要赋值的内容”2、使用变量来赋值(1)在舞台上创建一个动态文本框,并为这个动态文本实例起一个变量名3800hk。(2)选中时间轴的第一桢,打开动作面板,输入以下脚本:3800hk="
19、;欢迎大家来到爱国者安全网学习!"不难看出,使用变量赋值更为简单实用!赋值格式为:变量名=“赋值的内容”以上两种赋值方法如果内容过多需要换行的时候,需要使用行用回车符(“r”即ASCII13)分隔!三、如何载入外部txt文本里的内容当内容过多的时候,使用上面的方法并不是太好,我们可以使用下面的方法,从外部获取文本资料内容!而外部的资料内容就放在一个普通的txt(记事本)文件中。具体操作步骤如下:1、创建一个动态文本实例,并为这个动态文本实例起一个变量名hk2、选中时间轴的第一桢,打开动作面板,输入以下脚本:loadVariablesNum("heiying.txt"
20、;,0);/载入外部名字叫heiying.txt的文本文件,加载级别为03、现在来准备外部的heiying.txt文本文件了。注意:要把这个文本文件和你刚才做的flash文件放在一个文件夹里!这个txt文件里的资料应该按照如下格式编写:flash中动态文本变量的名字=这里就是所需要的资料内容。对应上面的格式,外部heiying.txt中的内容为:hk=欢迎大家来到爱国者安全网学习!。最后一点,需要将这个文本文件保存为UTF-8格式。4、完成以上步骤之后,就可以进行测试了。下面介绍另外一种载入外部文本资料的方法,并介绍当文本内容过多时候,如何使用滚动条组件(1)创建一个动态文本实例,并并为这个动
21、态文本实例起一个实例名字anquan(注:是实例名而不是变量名)起一个变量名为hk(2)打开flash的组件面板(快捷键ctrl+F7),找到UIScrollBar(滚动条)组件。按着它不动,然后拖放此组件至刚才的动态文本实例的右部边缘,如果成功的话,组件会和文本框结合在一起!(3)选中舞台第一桢,编写如下脚本:tt=newLoadVars();创建一个LoadVars对象的实例,这里的实例名字叫tttt.load("heiying.txt");/创建的tt实例需要载入的对象是heiying.txt文本文件。tt.onLoad=function(s)/开始载入外部文件,具体
22、格式请按照此例格式。参数s是指示load操作是否成功完成。如果完成,那么S的值就为true(真),反之为false(假)if(s)anquan.text=tt.hk;/如果载入成功,则anquan文本框中的内容就等于tt.实例中的heiying的内容!(hk是我们外部文本文件中的变量。);(4) 至于外部的heiying.txt还可以使用刚才所创建的文本文件,为了测试滚动条的效五、影片剪辑的拖拽在网上经常看到的flash影片中有的对象可以被鼠标进行拖动。例如有的类似七巧板的拼图游戏,控制音量的滑杆等,所使用的就是flash中的拖拽动作。一、拖拽命令详细介绍1、首先介绍一下开始拖拽命令的详细用法
23、,稍后在后面的例子中进行测试。命令格式:StartDrag(要拖动的影片剪辑,是否锁定到鼠标位置中央,左,上右,下)或写为要拖动的影片剪辑.StartDrag(是否锁定到鼠标位置中央,左,上,右,下)命令讲解:在制作动画的过程中,上面两种书写方法可任选一种。其中内的为可选参数,也就是可以写,也可以不写。至于左,上,右,下四个参数是用来控制被拖对象的移动范围。2、停止拖拽命令讲解命令格式:被拖动的影片剪辑实例名.stopDrag()这样就可以停止对对象的拖拽动作。二、实例讲解下面来用一个简单的例子实验拖拽命令。操作步骤:1、新建一个flash文档,并在舞台上绘制一个圆形。选中圆形并按F8,将此圆
24、形转换为影片剪辑,起名为:圆。确定后将会在舞台上创建一个圆的实例。2、选中此实例,并按F9打开动作面板。输入如下脚本:on(press)this.startDrag(true);/当鼠标按下(press)之后,这个实例(因为我们把脚本写在实例本身了,所以这里用this代替影片剪辑实例的名字)可以被拖拽,使用命令如上面的命令解释。对于参数的选择方面,这里只填写了锁定到鼠标位置中央,如果想选不锁定到鼠标位置中央,可以把true改为false。有兴趣的朋友可以更改为false看看。on(release)this.stopDrag();同样道理,当鼠标释放(release)之后,将停止拖拽动作。3、好
25、了,现在让我们按Ctrl+回车来测试一下吧,你将会看到舞台上的圆被你的鼠标拖动的效果。4、0K,通过这个例子我们可以简单的应用拖拽动作了。现在需要把这个例子继续完成,还记得上面命令讲解中的左,上,右,下四个控制拖动范围的参数吗?现在来制作具有约束拖动范围的效果。5、现在在舞台上绘制一个200*100大小的矩形,注意只要边框不要填充。6、如果我们希望在拖动的时候这个圆只能在矩形内拖动的话,就要先设置这个矩形的坐标,并记下矩形四个顶点的坐标(这点很重要!)。OK,比如,现在此例子中的矩形的四个顶点分别如上图所示。那我们要取的四个参数就应该是:左=50,上=100,右=250,下=200现在打开动作
26、面板,修改刚才的脚本如下:on(press)this.startDrag(true,50,100,250,200);/这里我们就使用刚才确定好的4个参数。4个点的参数就对拖动对象实现了一个矩形区域的移动约束!on(release)this.stopDrag();7、好了,按Ctrl+回车去测试吧!好了,关于拖拽的讲解先到这里,下面我们来学习如何结合着拖拽动作来检测对象之间的碰撞!三、碰撞命令的讲解命令格式:目标影片剪辑的实例.hihkest(被拖拽的实例)这个是比较简单的检测碰撞命令目标影片剪辑的实例.hihkest(被拖拽实例的X轴坐标,被拖拽实例的Y轴坐标,对象的矩形区域范围还是对象本身范
27、围)这个是比较复杂点的检测碰撞命令命令解释:以上两个命令都是用来检测碰撞的,可以根据需要选择不同的命令。重点解释一下对象的矩形区域范围和对象本身范围(上面的命令中,false表示对象的矩形区域范围,true表示对象本身的范围)四、碰撞命令与拖拽命令的结合使用(一)、下面通过简单的例子来学习碰撞命令(我们先来学习如何检测是否碰到对象的矩形区域范围)1、新建一个flash文档,在舞台上绘制一个圆形。选中圆形并按F8将它转换为影片剪辑,起名:圆。这样就在舞台上创建了一个圆的实例。2、选中此实例,为它起一个名字,此例起名为:yuan3、选择文字工具,并选择文字类型为“动态文本”,在圆的实例下面拖绘出一
28、个动态文本框。并起一个变量名为:hk4、选中时间轴的第一桢,按F9打开动作面板,输入以下脚本:_root.onEnterFrame=function()这个是在时间轴上的AS编写规则,解释为舞台上每桢都执行下面的脚本(onEnterFrame)。if(_root.yuan.hitTest(_root._xmouse,_root._ymouse,false)/根据上面命令的讲解,这个语句就是检测碰撞了。如果鼠标碰到舞台上yuan这个实例的矩形区域范围的话,就执行下面的脚本。hk="接触矩形区域范围"/动态文本框就显示出“接触矩形区域范围”elsehk="没有接触到矩
29、形区域范围"/如果鼠标没有碰到舞台上yuan这个实例的矩形区域范围的话,就显示没有接触到矩形区域范围。;现在可以按Ctrl+回车去测试我们的成果(二)、拖拽碰撞检测现在再来一个例子讲解拖拽碰撞检测,想偷懒的话可以通过修改上面例子的代码来学习。1、现在稍微修改一下上面的例子,以便让我们学习拖拽碰撞检测,在上面例子的舞台上绘制一个矩形,并把这个矩形转换成电影剪辑,起名为:矩形这样就在舞台上又创建了一个矩形的实例,现在为这个矩形实例起一个名为:juxing。2、选中这个矩形实例,打开动作面板,输入可以拖拽这个实例的脚本。如下:on(press)this.startDrag(true);on
30、(release)this.stopDrag();这个脚本就是为了能拖动这个矩形实例。具体解释请回顾第一个拖动对象例子的脚本说明。3、现在来修改脚本,选中时间轴的第一桢,按F9打开动作面板,你将会看到上个例子的碰撞检测脚本,把它修改为如下脚本:_root.onEnterFrame=function()if(_root.yuan.hitTest(_root.juxing)hk="碰到了"elsehk="没有碰到"这个脚本和上次的碰撞检测脚本类似,只不过不需要再书写X轴和Y轴,也不用写是否碰到矩形区域范围。简单吧现在又到了测试阶段了,去观看你的成果六、流程控
31、制与循环语句众所周知,flash中动画依靠的是时间轴,在没有脚本的情况下,动画会依照时间轴从第一帧不停的播放到最后一帧,然后始重复播放或者干脆停止。为了能更好的控制动画,就必须使用脚本语句。而要想使动画具有逻辑判断的功能,就要使用流程控制和循环控制语句了!下面通过几个简单的小例子来学习流程与循环控制语句。一、流程控制语句所谓流程控制,无非就是我们想控制动画程序的执行顺序而已。我们可以让flash根据一些特定的条件,来决定要执行哪个程序。这样就好象给了程序一些判断的机制。if.else控制语句根据英文的意思,大家可以简单的理解上面的控制语句:如果.就.否则.就.下面来看看这个流程控制语句的书写格
32、式。if(条件)/条件成立的话,就执行这里的程序。else/条件不成立的话就执行这里的程序。下面重点说一下if后面括号内的条件。这个条件可以是一个固定的值,也可以是一个变量或表达式。如果条件成立的话,也就是条件为真(true),就会执行if后面的程序,如果条件不成立,也就是条件为假(false),就会执行else里的程序。例如:有这么一个条件,A>B将这个表达式代入if后面的括号内,这个流程语句的意思就变成:如果A>B的话,就执行第一个大括号内的程序,如果A不大于E,就将执行else后面大括号内的程序。实例讲解:1、新建一个flash文档,在舞台上绘制一个圆,选中圆并按F8转换成影
33、片剪辑,起名为:圆这样就在舞台上创建一个圆的实例。2、选中舞台上的实例,按F9打开动作面板,输入如下脚本:onClipEvent(enterFrame)if(this._x<400)/流程条件控制语句,如果这个圆的实例的X轴坐标小于400,就执行后面的程序。this._x+=5;/让这个圆的坐标向右移动5个象素elsethis._x=0;/控制语句,如果刚才的条件不成立。也就是圆实例的X坐标不小于400,就让它的X坐标为0上面的脚本是一个非常简单的流程控制语句,根据实例的坐标来进行判断。因为我们使用了enterFrame事件,所以flash会不停的执行下面if.else语句。3、测试影片
34、。会看到圆不停的向右移动,当它的X坐标大于或等于400的时候,程序会把它的X坐标重新更改为0。二、循环控制语句所谓的循环语句,其实也是用条件来控制的,只要条件成立,那么,程序就会不停的执行下去,一直执行到条件不成立为止!常用的循环语句包括while循环、for循环等。因为篇幅有限,下面只重点讲解for循环的使用方法。For循环命令格式:for(初始变量;条件语句;迭加命令语句)/用户自己编写的脚本。首先强调一点,for语句的括号内有三个项目,必须要用分号间隔开!初始变量:循环语句也是用条件是否成立来控制的,通常我们用一个变量来控制程序执行的次数。那么,这个初始变量就要先定义一个值。要注意的是,
35、初始变量这个项目只执行一次!条件语句:这个项目就是我们的判断语句了。如果这个项目判断为真(true),也就是条件成立了。它就直接跳进大括号内执行里面的程序!反之,如果条件为假(false),它就直接跳出这个for语句了。迭加命令语句:接上面的条件语句,如果条件语句成立,会执行内的程序,那么执行完程序之后,就要回来执行迭加命令语句了。通常它就用来增加或减少刚开始时的初始变量的值。实例讲解:1、新建一个flash文档,在舞台上绘制一个圆,选中圆并按F8转换成影片剪辑,起名为:圆这样就在舞台上创建一个圆的实例。2、为这个实例起名为:yuan3、添加一个新的层,并选中新层的第一帧,按F9打开动作面板,
36、输入如下脚本: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了,条件为真
37、,就执行内的复制程序,同时复制出来的新实例的名字就变成了yuan1,接着就是设置yuan1的坐标和透明度。之后,for语句开始回去执行i+,此时,i的值就变为2了。然后又开始循环判断执行下去(你可以算一下,这个for循环总共循环了几次呢?答案是4次。)4、选中时间轴的第6帧,按F6插入一关键帧,打开动作面板输入以下脚本:gotoAndPlay(1);让flash播放到第6帧的时候返回第1帧再来执行for循环语句。5、测试效果吧,你会看到舞台上会循环4次复制出4个圆。希望大家能通过这两个简单的例子掌握流程控制语句和循环控制语句七、绘图及颜色的AS的编写在使用flash的过程中,难免会进行绘图的操
38、作。除了用工具面板上的工具绘制图形之外,我们也可以使用ActionScript来绘制图形。如何绘制线段及命令解释lineStyle(粗细,颜色,透明度)/设置绘制图形的线条粗细、颜色和透明度Moveto(X坐标,Y坐标)设置绘图线条的起点坐标lineto(X坐标,Y坐标)/设置线条的结束坐标现在就用刚才的三个命令在舞台上绘制出来一个300*100大小的矩形。步骤:1、新建立一个flash文档。2、既然要绘制一个300*100大小的矩形,我们就要先确定矩形4个顶点的坐标,然后就可以使用lineto命令进行编写了。3、选中时间轴的第一桢,打开动作面板。现在已经确定了矩形的4个顶点,那么我们就可以来
39、编写脚本命令了,请输入以下脚本:_root.lineStyle(1,0x000000,100);/设置线条的粗细,颜色和透明度_root.moveTo(50,50);/设置开始点的坐标。_root.lineTo(350,50);_root.lineTo(350,150);_root.lineTo(50,150);_root.lineTo(50,50);/设置结束点坐标,整个矩形绘制完毕相信大家通过上面的命令就很容易的用AS绘制出所需要的形状,充分发挥你的想象力,可以通过lineto命令来设置多个点,从而创造出各种各样的形状。熟悉了绘制线条的命令之后我们来用一个例子加深印象。操作步骤:1、新建立
40、一个flash文档,在舞台上绘制一个圆,选中它并按F8转换成影片剪辑,起名为:圆。2、打开库面板,请将影片剪辑“圆”在舞台上再拖放一个实例,使舞台上存在两个圆的实例。3、现在为舞台上两个实例分别起名字为a和b4、选中时间轴第一桢,打开动作面板,输入以下脚本:functiondraw()/自己定义一个函数,这个函数起名为draw(可自定),函数的功能是要实现以a实例的坐标为起点,向b实例绘制线条。_root.hkear();清除舞台上绘制的线条。_root.lineStyle(1,0x000000,90);/设置线条的粗细,颜色和透明度。_root.moveTo(a._x,a._y);以a实例的
41、坐标为起点开始绘制线条。_root.lineTo(b._x,b._y);/以b实例的坐标为绘制线条的结束点。draw();执行函数draw,它将会在a与b之间绘制出一条黑色的线条。解释:为了减轻编写AS的工作量和程序的重复率,可以将某些功能定义为一个函数,例如上面的draw(),在使用的时候,直接执行定义过的函数,就可以完成函数的功能。5、现在创建拖动效果,选中舞台上的b实例,打开动作面板,输入以下脚本:on(press)/点击此实例,开始拖动this.startDrag(true);on(release)/释放鼠标,停止拖动this.stopDrag();onClipEvent(mouseM
42、ove)/当鼠标移动,也就是这个b实例移动的时候,就执行里面的程序。_root.draw();执行舞台上定义过的draw()函数,开始在a与b之间绘制线条。updateAfterEvent();/强制更新画面,是整个动画更加流畅。按Ctrl+回车测试动画效果。二、颜色命令讲解setRGB()用来设置实例的颜色值,注意,这个值用16进制表示,例如0x000000(黑色)getRBG()获取实例的颜色值下面用一个相对简单的例子来说明颜色命令的使用以及如何填充颜色要想使用颜色命令,我们必须先构建一个Color对象。方法就是自定义名字=newColor(”要改变颜色的对象"),构建完colo
43、r对象之后,我们就能使用setRGB或getRGB来设置或获取颜色了。步骤:1、新建立一flash文档,背景大小为550*4002、选中时间轴第一桢,打开动作面板,我们现在要用AS来帮助我们创建一个影片剪辑的实例。所用到的命令为:createEmptyMovieClip(”实例名称",深度)。创建一个影片剪辑实例,并起名为hk。输入下面脚本。_root.createEmptyMovieClip("hk",1);/使用创建命令在舞台上创建一个名字叫hk的影片剪辑实例,深度为1接下来我们要对这个hk实例进行绘制图形和填充图形!现在我们用AS绘制一个300*100大小的
44、矩形,并且把这个矩形填充为黑色,脚本如下:with(hk)/使用with命令设置hk的各个属性beginFill(0x000000,85);/开始填充这个hk实例,颜色为黑色,透明度为85lineStyle(1,0x999999,100);/设置这个实例的边框粗细为1,颜色为灰色,透明度为100moveTo(50,50);/设置绘制线条的起点坐标lineTo(350,50);lineTo(350,150);lineTo(50,150);lineTo(50,50);/结束绘制,将在舞台上绘制出一个300*100大小的矩形。endFill();/结束填充,与beginFill()命令对应。OK,现
45、在我们就已经创建了一个黑色的矩形。现在我们要继续实现变色的功能,也就是当鼠标移动的时候,这个矩形会随机变换颜色!就需要用到我们的构建Color对象的命令了。脚本如下:_root.onMouseMove=function()/当鼠标移动的时候就执行下面的脚本命令。hk_color=newColor("hk");/构建一个名字叫hk_color的Color对象。yanse="0x"+random(100)+random(100)+random(100);用一个变量yanse来获取一个数值,这个数值就是颜色值hk_color.setRGB(yanse);设置矩
46、形的颜色。;好了,这个例子是完全由脚本编写而成,所有脚本都在时间轴的第一桢3、按Ctrl+回车来测试你的影片吧会看到矩形会随着鼠标的移动而不断进行颜色变化。八、声音AS的编写与控制一个好的flash作品,缺少了声音,就如同人不会讲话一样。而flash中对声音的支持也非常不错,除了可以使用时间轴放置声音文件之外,我们还可以使用AS来更加准确的控制声音!一、FLASH中如何创建声音控件如果想控制动画中的声音,我们可以使用flash中的sound对象,通过sound命令创建一个新的sound对象。之后再用attachSound命令连接到库里的声音,就可以用来控制动画中的声音了。常用命令讲解:newS
47、ound()此命令用来创建一个新的sound对象,有了sound对象我们才能用AS来控制声音。attachSound(”库中的声音")此命令可以使我们创建的声音对象连接到库里的声音,以便进行控制。start(从第几秒开始播放,循环次数)此命令可以是声音开始播放,里面的两个参数是可选的。stop()停止声音的播放。setVolume(音量级别)此命令可以控制声音的音量高低,音量级别只能是从0100之间的数字。现在我们也应该用AS先做一个简单的小例子了。二、创建一个简单的声音播放动画,可以实现简单的开始与停止播放声音。操作步骤:1、新建一个flash文档,按Ctrl+R(文件导入)导入一
48、个声音文件,声音文件可以是MP3或WAV格式的。声音文件导入之后,在舞台上是看不见的,必须打开库才能看到我们导入的声音。2、选中库中的声音文件,单击鼠标右键,在弹出的菜单中选择“链接.”将会弹出一个链接的对话框,请勾选“为动作脚本导出”和“在第一帧导出”选项,并输入一个标识符:mysound(名字可任意写),单击确定。3、回到主舞台,选中时间轴的第一桢,按F9打开动作面板。现在我们要创建一个新的声音对象,并且连接到库里的声音。用来控制声音。输入以下脚本:music=newSound();/创建一个名字叫music的声音对象。music.attachSound("mysound&quo
49、t;);/将这个声音对象与库里的标识符为“mysound”的声音连接。4、现在需要在舞台上放置两个按钮分别控制声音的播放与停止。5、此时,舞台上将有播放和停止两个按钮,选中Play按钮,打开动作面板,输入以下脚本:on(release)music.start();/播放声音选中Stop按钮,输入以下脚本:on(release)music.stop();/停止播放声音6、OK,个简单的控制声音播放与停止的例子就完成了,快按Ctrl+回车来测试吧。三、创建一个稍微复杂的例子,用来滑动按钮来控制声音的音量。操作步骤:1、新建一个flash文档,并按Ctrl+R导入一个声音文件。2、参照上个例子,打开
50、库,并把导入的声音文件设置一个链界标识符。这里设置标识符为“mysound”。3、选中舞台时间轴第一桢,打开动作面板,创建一个新的声音对象,连接库中声音,并播放这个声音。输入脚本如下:music=newSound();music.attachSound("mysound");music.start(1,10);/播放声音,从第一秒开始播放,并循环10次4、现在需要一个按钮做为滑动按钮,用来控制声音的音量!按钮可以自己制作或使用公用库中的按钮,此例中我使用公用库中的按钮。请在舞台适当位置放置一个按钮实例。5、选中按钮,打开动作面板输入以下脚本:on(press)this.startDrag(false,left,top,right,bottom);/开始拖动这个按钮,并且要规定它的拖动范围,分别由四个变量控制,4个变量的初始值稍后设置。drag=true;/用一个变量来判断这个按钮是否被拖动了。如果它被拖动了,变量值为true(真)on(release,releaseOutsi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辽宁省七校协作体2024-2025学年高二下学期3月联考历史试卷(含解析)
- 蔬菜分格线描课件
- 教师节捐资人发言稿
- 特许金融分析师考试热点问题与试题及答案
- 特许金融分析师考试绩效评估实例题及答案
- CFA考试重要性与影响试题及答案
- 高中小说基础知识
- CFA考试的灵活应对方法试题及答案
- 2024年特许金融分析师考试答题技巧试题及答案
- 2024年CFA考试攻略与试题及答案
- 《员工思想培训》课件
- 胚胎工程的应用及前景说课课件
- 网络主题 大锁孙天宇小品《时间都去哪儿了》台词
- xx县精神病医院建设项目可行性研究报告
- DB13T 5080-2019 SBS改性沥青生产过程动态质量监控规范
- 义务教育物理课程标准(2022年版word版)
- 外环长安大道、东方大道段天然气管道工程管道试压吹扫方案资料(共13页)
- (高清版)静压桩施工技术规程JGJ_T 394-2017
- 第四章_复合材料的界面
- AE常用particular粒子中英文对照表讲解
- 升压站电气设备安装强制性条文执行检查表
评论
0/150
提交评论