flash 常用函数 as
- 格式:ppt
- 大小:225.50 KB
- 文档页数:22
一、Flash中自定义函数的一般形式为:function 函数名称(参数1,参数2,……,参数n){//函数体。
即函数的程序代码}自定义函数必须调用才有效。
调用自定义函数的一般形式为:路径.函数名称(参数1,参数2,……,参数n)函数就像变量一样,必须正确使用目标路径才能调用它们。
二、例题例1 假设我们要定义一个计算矩形面积的函数,可以这样:(打开21.1.fla)复制代码代码如下:shu1 = shu2=dan="";//设置输入文本与动态文本function jxmj(a, b) {//自定义计算矩形面积的函数return a*b; //在这里返回结果,也就是得到函数的返回值}然后在按扭中调用这个函数:复制代码代码如下:on (release) {dan = jxmj(shu1, shu2);//分别用两输入文本的值作为参数a,b;并且把函数返回的值用动态文本显示出来。
}利用这个计算矩形面积的函数就可以计算任何矩形面积。
例2 打开21.2.fla源文件这是我们前面一个作业中是一部分。
当在“控制”按钮、“小松鼠”影片剪辑或者“小球”影片剪辑上按下鼠标时,小松鼠和小球分别按照相反的方向运动;这三个事件要达到的目的都一样,所以,脚本必定重复,我们可以使用自定义函数。
在场景第一帧的脚本:复制代码代码如下:function yd () { //自定义函数名称为yd;gotoAndPlay(1); //场景到第1帧播放;qiu_mc.gotoAndPlay(31);//qiu_mc到第31帧播放;}在松手上的脚本:复制代码代码如下:on (press) {_root.yd()//自定义函数在这个影片的父级(场景)上,因此,应该指出路径(_root)}在球上的脚本:复制代码代码如下:on (press) {_root.yd()//同上;}在按扭上的脚本:复制代码代码如下:on (press) {yd()//按扭和自定义函数都在场景上,路径可以省略不写。
Flash最常用AS语法及语句总结Flash最常用AS语法及语句总结2019-05-13 11:12Flash最常用AS语法及语句总结Flash最常用AS语法及语句总结■FLASH按钮+链接on(release){getURL("相应链接");■用flash做那种弹出的小窗口分两步:1.给flash中的按钮加入如下action:on(release){getURL("");2.在HTML页面的head./head之间加入下面的","_self","POST");注意要将网页中的flash的ID号命名为"links"on(release){getURL("window.external.AddFavorite('网页');","_self","POST");}■产生随机数产生6--20之间的5个不重复的随机数1):首先产生一个随机数,放在数组对象中的第一个位置;2):产生一个新的随机数.3):检查新产生的随机数和所有目前已产生的随机数是否相同,若是相同则返回(2),否则返回(4)4):将新的随机数加入数组对象中下一个数组元素内.5):检查数组对象个数是否已达到5个,若是跳到(6),否则返回(2)6):结束.AS代码如下:data1=newArray(5);tot=1;data1=[tot-1]=random(20-6+1)+6;do{gen_data=random(20-6+1)+6;reapeat_data=0;for(i=0,i=tot-1;i++){if(gen_data==data reapeat_data=1;break;}}if(reapeat_data==0){tot++data[tot-1]=reapeat_data;}}while(tot 5);trace(data1);■flash一打开就是全屏这里说的方法只是用于flash Player(fp)■如何禁止右键菜单fscommand的方法还是只能适用于fp,在网页中使用还是必须添加额外的参数PARAM value="false"或者用最简单的一句as,在fp和网页中均适用:Stage.showMenu=false;■载入动画loadMovie("dd.swf",a);//这里没有引号~■播完动画后自动跳到某网页getURL("siteindex.htm","_self");//注意这里有引号。
Flash as入门(4):AS常用语句AS常用语句一.运算符1. = 赋值运算符,它不是数学中的等于,而是将=号右边的值赋给左边的变量.2. 使用于字符串的运算符:比较:==等于. 用于比较两个字符串是否相等,如果相等则返回"true",否则返回false.如:a="abc";b="abc";c="bcd";d=(a==b);//d为truef=(a==c);//f为false〉大于 .〉= 大于等于〈小于〈= 小于等于字符串的大小比较由小到大的顺序是:A一Z一a一z.+:连接运算:如:a="abc";b="def";c=a+b;//c为:"abcdef"trace(c);可以把上述代码复制到帧动作面板中,测试影片,试试.又如:a="123";b=456;c=a+b;//c为:"123456"trace(c);而:a=123;b=456;c=a+b;//c为:579trace(c);上面两个代码出现了不同的结果,这是因为第一段代码a被赋的值是被引号括起来的,那么它就是字符串,在字符串中+号是连接符号,不是数学中的加号.第二段代码,a、b被赋的值都没引号,AS就将它看着数字,在数字类型中+号就是数学中的加号.+= 这也是连接符号,这是将+=符号左边的字符串与右边的字符串连接,如:a="abc";b="def";a+=b;//这时a为abcdef3.对数字使用运算符:+、-、*、/:这就是数学中的加减乘除.%:求模运算符,即求余数,如:a=7;b=2;c=a%b;//c为a除以b的余数1+=、-=:分别是符号左边的数字加上或减去右边的数字,并将结果赋值给左边的变量.如:a=7;b=2;a+=b;//这时a为9a-=b;//这时a为7*=、/=:同理++、--:递增递减运算符,即+或减1.如:a=7;a++;//这时a为8a--;//这时a为7比效:==:等于!=:不等于〉:大于〉=:大于等于〈:小于<=:小于等于二、条件语句if 语句:如果怎么样,就做些什么事.可以把if理解为如果.格式:if(条件表达式){要执行的语句}例:a=7;b=2;if (a==b){trace("是的");}这个条件语句的意思是,如果a等于b,那么就输出"是的".将上面代码写到帧动作面板中,测试影片,发现并没有输出面板弹出.因为上面的语句是a等于b时才执行 trace("是的");,事实上现在a不等于b而是大于b,那么trace("是的");就不会执行.把代码改一下:a=7;b=2;if (a〉b){trace("是的");}测试影片,那就会看到输出窗口中的"是的".if…else语句:这句是如果怎样就执行if后面的语句,如果不是这样就执行else 后面的语句.格式:if(条件表达式){要执行的语句} else {要执行的语句}例:a=7;b=2;if(a〈=b){trace("a比b小或一样大");} else {trace("a比b大");}看看这个代码,如果a小于等于b那么就输出:"a比b小或一样大".否则,就输出:"a比b大".测试影片,我们可以看到:"a比b大".if…else if:这个语句可以测试多个条件.这样理解这个语句,如果怎样就干点什么,又如果怎样,又干点什么,再如果怎样….还是这个例子:a =7;b=2;if(a<b){trace("a比b小");}else if("a==b"){trace("a和b一样大");} else if(a〉b){trace("a比b大");}这段代码意思是:如果a小于b那么输出:"a比b小";如果a等于b那么输出:"a 和b一样大";如果a大于b那么输出:"a比b大".测试影片,输出是:"a比b大".switch语句:上面提到有要检测多个条件的情况,可以用多个else if,用switch 语句也可以实现这个目的.格式:switch(表达式){case 表达式的值:要执行的语句break;case 表达式的值:要执行的语句break;…default:要执行的语句}上面括号中的表达式也可以是一个变量,下面的大括号中可以有多个 case 表达式的值:,程序执行时会从第一个case开始检查,如果第一个case后的值是括号中表达式的值,那么就执行它后面的语句,如果不是括号中表达式的值,那么,程序就跳到第二个case检查,以此类推,直到找到与括号中表达式的值相等的case 语句为止,并执行该case后面的语句.你可能会注意到每一句case后面都有一句breake;这是跳出switch语句的意思,即当找到相符的case,并执行相应的语句后,程序跳出switch语句,不再往下检测.以免发生落空的错误.可能会有这样的情况,所有的case语句后的值都与表达式的值不相符,那么就应该用default: 语句,这时程序就会执行default:后的语句.如果你确定不会出现这种情况,那么可以不要default:语句.例1:a=7;b=2;c=a+b;switch(c){case 5:trace("小了");breake;case 12:trace("大了");breake;case 9:trace("对了");breake;}测试影片,输出句"对了".例2.a=7;b=2;switch(a+b){case 5:trace("小了");breake;case 12:trace("大了");breake;case 8:trace("还是小了"); breake;default:trace("都没算对");}测试影片输出为:"都没算对".逻辑运算符:逻辑运算符在运算符那一节没有介绍,是因为它多半用在条件语句中,所以我们在这一节介绍.在上面的条件表达式中,都是单一的条件,比如是否大于是否小于等,实际上我们经常都可能用到复合条件,比如大小多少并且小于多少,大于多少或者小于多少等.在这样的复合条件语句中,有两个词:并且、或者,它们的符号:&&并且丨丨或者并且是指两个条件都成立时为真,或者是指只要有一个条件成立时为真.例1:a=7;if((a〉5)&&(a<10)){trace("正确");}测试影片,将输出"正确".因为a=7的确即大于5又小于10,条件为真.例2:a=7;if((a〉5)&&(a〉10)){trace("正确");}测试影片,没有输出.说明 trace("正确");这句没执行.因为a〉5成立,而a〉10不成立,两个条件只有一个为真,整个条件则为假.例3.a=7;if((a〉5)||(a〉10)){trace("正确");}这个例子用的是"||"或者语句,只要有一个条件为真,整个条件表达式为真,测试影片,将输出"正确".练习:猜数游戏下面我们来做一个练习,猜数游戏,将上一节运算符及本节条件语句进行综合应用.游戏是由程序产生一个0-100的随机数,然后由用户来猜,程序根据用户猜的数与所产生的随机数进行比较,根据比较结果,给用户提示,直到用户猜中为止,并记录用户所猜次数.为完成这个练习,我们先介绍一个函数:random(),这个函数将产生一个由0到括号中的数减1的整数.如: a=random(50),那么a的值为0到49之间的一个整数.现在来做这个练习:新建一flash文件,用文本工具在舞台的上半部居中画一个文本框,在里面输入:”请猜一个0-100之间的数字:”;打开属性面板,设置文本框为静态文本,设置好文本字体的大小和颜色.在这个文本框的下边,再画一个文本框,打开属性面板,设置文本框为动态文本,在变量框中输入c,这样变量c就代表这个文本框的内容,我们就可以用c来读取和设置这个动态文本框的内容.动态文框是在运行时可以给文本设置值的文本框.关于文本框的的知识,在后面将有专门的课程介绍,这里了解这么多就行了.在动态文本框的下面,再画一个文本框,打开属性面板,设置文本框为输入文本.将在文本框周围显示边框按钮点下.在变量框中输入s.输入文本框是在运行时,用户可以在其中输入内容人.下面新建两个按钮,一个标签为”确定”,一个标签为”重猜”.按钮的做法请参阅第二课.将两个按钮放到舞台上,最下面.打开属性面板,”确定”按钮命名为”qd_btn”,”重猜”按钮”命名为”cc_btn”.新建一层,命名为”action”用来写代码.点中第一帧,点右键,打开动作面板,开始写代码:首先声明一个变量,用来存放0-100间的随机数,所以第一行代码为:var a = random(101);然后声明一个变量,用来存放猜的次数,现在还没猜,所以给它赋值为0,第二行代码为:var cs:Number = 0;下面使用条件语句,来比较用户输入的数的产生的随机数:qd_btn.onRelease = function(){ //当点击确定按钮时,执行下面的语句.cs++; //猜的次数增加1if (s>a){ //如果猜的数大于随机数.c = "大了点"; //动态文本框提示”大了点”.} else if (s==a){ //如果猜对了,根据猜的次数给出相应结果.if(cs<=5){ //如果猜的次数在5次以内c = "哇,你只猜了" + cs + "次就猜对了,真历害!"; //给出表扬,注意这里用到了,字符串的连接.} else { // 如果不只猜5次.c="猜对了!你猜了"+cs+"次"; //提示猜对了,并给出猜的次数.}} else if (s<a) { //如果猜的数字小于随机数c="小了点";//提示”小了点”}}最后,来写重猜的代码:cc_btn.onRelease = function () { //当点击重猜按钮时执行以下语句a = random(101);//重新产生随机数cs = 0;//将猜的次数设为0s="";清空输入文本框c="";清空提示文本}作业:制作猜数游戏for循环:格式:for(初值;条件表达式;增值){要执行的语句}这个语句,首先给一个变量设定一个初始值,然后将这个初始值带入条件表达式,如果条件表达式为真,则执行大括号中的语句,并且按括号中增值表达式对变量的值进行增减;然后再次带入条件表达式,如果为真则再次执行大括号中的语句.…,这样直到条件表达式为假为止.例:var a=0;for(var i=0;i〈10;i++){a += i;}trace(a);我们来看看最后输出的a是多少.程序开始时,a等于0,然后进入for循环,循环开始i等于0,条件表达式i<10成立,那么执行a+=i,此时a、 i均为0,那么a 为0,然后执行增值i++,则i为1,再检测条件表达式i〈10仍成立,执行a+=i,则a为1;执行i++,i为2……,这样反复循环,直到i为10时,条件表达式i〈10不成立,停止循环.明显可以看出循环进行了10次,这时a是多少呢?测试影片时输出为45for…in循环:这是遍历或者叫循环访问一个组对象中的成员.比如影片剪辑的子级、对象的属性、数组等.由于数组等在前面还没有介绍,因此我们将for…in 循环放到下一课介绍数组时再祥细介绍while循环:有点类似if语句,只要条件成立就执行相应语句.格式:while(条件表达式){要执行的语句计数语句}当条件表达式为真时,执行大括号中的语句,执行计数语句,然后用计数语句的结果再次检测条件表达式,如此反复循环.直到条件表达式为假为止.这里需要注意的是,如果没有计数语句,或者计数语句的结果永远不能使条件表达式为假,那么循环将水远无休止地反复,这就形成了一个死循环,我们在编程的过程中一定要避免这种情况.例1:下面的代码是一个死循环,请不要测试.var a=0;while(a<10){trace(a);}看看这段代码,程序执行时a等于0,然后进入循环,条件表达式a〈10成立,执行trace(a),输出0,然后再检查条件表达式,因为没有计数语句,a没发生变化,条件表达式仍成立,于是又输出一个0,然后又反复,一直不停地输出0,无休无止,直到天荒地老.例2:下面的代码是一个死循环,请不要测试.var a=0;while(a<10){trace(a);a--;}这一例加上了计数语句a--,但a的初始值为0,每一个循环它减1,这样条件表达式a<10也是永远为真,因此循环也是永不停息,直到地老天荒.例3:var a=0;while(a<10){trace(a);a++;}这一例将计数语句改为a++,这样每一循环,a加1,当10个循环后,a为10,条件表达式a<10为假,循环停止.测试本例我们会在输出面板中看到:12…9do…while循环:这个循环实际和while循环是一样的,只是它先执行一次语句,然后再检测条件语句,而while循环是先检测条件语句再执行大括号内的语句. do…while循环的格式为:do{要执行的语句计数语句}while(条件表达式);。
和其它脚本不同,AS程序有作用对象一说,在FLASH动画中并不能任意插入AS,而要依附于相关对象三种作用对象1关键帧2按钮3影片剪辑动画的暂停在关键帧上添加as会有一个a标示字母区别大小写注释//单行注释/**/多行注释play( ); 播放stop( ); 停止gotoAndPlay( ); 转到并播放gotoAndStop( );转到并停止nextFrame(); 跳至下一帧并停止播放prevFrame(); 跳至前一帧并停止播放针对按钮对像的on ( ) 事件处理函数,该代码只能添加到按钮上,不能添加到时间轴上面格式: on (鼠标事件) { //此处是我们的语句,这些语句组成的函数体来响应鼠标事件}常用的事件有如下几个:press: 在鼠标指针经过按钮时按下鼠标按钮release:在鼠标指针经过按钮时释放鼠标按钮rollOut: 鼠标指针滑出按钮区域rollOver: 鼠标指针放在按钮KeyPree(“key”) 按下指定的标准键盘上的按键示例:on事件中的参数的意义用按钮控制影片剪辑的播放和暂停要给影片剪辑的实例命名影片剪辑路径.相应操作给按钮添加链接getURL 给事件添加超级链接,包括电子邮件链接on(release){ getURL(“”,”_blank”); }on(release){ getURL(“mailto: fsdf@”); }As 只能插入到关键帧(a标示)按钮影片剪辑针对按钮对像的on ( ) 事件处理函数,该代码只能添加到按钮上,不能添加到时间轴上面控制某一影片剪辑的实例,必须先给实例命名方可通过(路径.相关动作)控制控制元素时,元素路径的书写及规律绝对路径相对路径gotoAndPlay(“场景”,帧)注意:在进行转跳时应该尽量使用帧标签,帧标签可以穿越所有场景,减少错误,使FLASH运行速度增快。
只能在根时间轴上跳转时使用转跳到指定场景,而不能是其它影片剪辑或其它对象的时间轴内nextScene() 转跳到下一场景如何定义变量如:定义一个容器,容器名字是myAge,用来存放年龄。
as的用法整理一、引言AS(ActionScript)是一种基于Adobe Flash的脚本语言,用于开发互动式的富媒体应用程序和游戏。
它具有强大的功能和灵活性,因此在网页设计和开发领域中广泛应用。
本文将整理AS的用法,以帮助初学者更好地掌握这一技术。
二、基础知识1. AS是面向对象的语言:AS支持面向对象编程范例,拥有类、继承、多态等特性,这使得代码可以模块化,并且容易维护和扩展。
2. AS与Flash之间的关系:AS作为Flash平台上的脚本语言,可以直接与Flash文件进行交互。
通过AS,开发人员可以创建动态和交互性更强的Flash内容。
3. AS与HTML/CSS的关联:尽管AS主要用于制作交互式Flash应用程序,但它也可以嵌入到HTML文件中实现与网页元素(如按钮、表单等)的交互。
三、常见用法1. 动画效果:使用AS可以创建各种动画效果,例如渐变过渡、缓动效果等。
通过控制时间轴上对象属性的变化以及设置适当的事件处理函数,你可以实现令人惊叹的动画效果。
2. 事件处理:AS允许你为Flash对象绑定各种事件,并在事件触发时执行相应的代码。
例如,你可以通过在按钮上添加鼠标点击事件,实现用户点击按钮后执行特定操作的功能。
3. 数据验证和表单处理:对于具有表单或用户输入的应用程序,AS提供了丰富的验证和处理工具。
你可以使用正则表达式、条件语句等方式来验证用户输入数据的有效性,并根据不同情况采取相应措施。
4. 多媒体处理:AS支持多种多媒体文件格式(如图片、音频、视频),可以灵活地加载和播放这些文件。
你可以使用AS创建自定义音频播放器、视频播放器等功能。
5. 网络通信:与服务器进行数据通信是许多网络应用程序的关键功能。
AS提供了一系列客户端网络协议,如HTTP、SOCKS等,使得开发者能够构建与服务器的数据交互功能。
四、进阶技巧1. 优化代码性能:编写高效率和低内存消耗的代码是开发者需要追求的目标之一。