Flash-AS-入门-as自定义函数

合集下载

Flash AS 入门 as自定义函数

Flash AS 入门 as自定义函数

一、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 基本应用

flash as 基本应用1.动作脚本语言的语法规则操作技巧详解。

例1:表示一个影片剪辑元件的X坐标属性,它的语法是:ball_mc._x其中ball_mc是一个影片剪辑元件,_x是该元件的X坐标属性。

例2:表示一个影片剪辑元件的方法,它的语法是:ball_mc.play()其中ball_mc是一个影片剪辑元件,play()是该元件的方法,表示对该元件进行播放。

3.另外点语法还有几个重要的别名A:_root表示绝对路径,它指的是时间主轴(场景中的时间轴是主轴,影片剪辑元件等中的时间轴是子轴)。

例:_root.play() 表示要时间主轴进行播放。

B:_parent表示当前影片剪辑的上一级时间轴(如:一级子轴的上一级时间轴是主轴,二级子轴的上一级时间轴是一级子轴)。

例如:在当前影片剪辑的内部时间轴上写入代码是,_parent.play() 表示当前影片剪辑内部的时间轴的上一级时间轴进行播放。

C:this表示当前时间轴,可以操控当前时间轴上的对像等。

例:this.play() 表要当前时间轴进行播放。

9.关键字:在动作脚本语言中,像break、for、if、this、new、delete、while、whith等,它们本身是语言命令,不能用作变量、自定义函数或其他的标签名称,也称为保留关键字。

10.常数:指值始终不变的属性。

如backspace、enter、space、tab等,它们是KEY对象的属性,指代键盘的按键。

11.数据类型:包括8大类型,分别是字符串、布尔值、对象、未定义等。

12.字符串:是由字母、数字、空格、标点符号等组成的字符的序列。

可以用双引号("")来定义字符串,字符串区分大小写。

如:text1="welcome",其中双引号中的welcome是字符串。

13.布尔值:是逻辑变量,它的值是true(真)或false(假)。

14.对象:是属性的集合,可以互相包含和嵌套,每个属性都有自已的名称和值。

Flash AS 入门教程 调入外部文本和加载外部mp3文件

Flash AS 入门教程 调入外部文本和加载外部mp3文件

1、LoadVars 类LoadVars 类是loadVariables() 函数的替代方法,用于在Flash 应用程序和服务器之间传输变量。

可以使用LoadVars 类在下载时获取成功数据加载、进度指示和流数据的验证信息。

2、LoadVars.load()LoadVars类的方法,my_lv.load(url):从指定的URL 下载变量,分析变量数据,并将结果变量放在my_lv 中。

3、LoadVars.onLoadLoadVars类的事件处理函数,用法:my_lv.onLoad = function(success) {// 此处是您的语句}success 该参数指示加载操作是成功完成(true) 还是以失败结束(false)。

如果该操作成功,my_lv 将填充为该操作所下载的变量,而这些变量将在调用此处理函数时变为可用。

4、my_str.split("delimiter", [limit])拆分字符或字符串的方法。

delimiter 拆分my_str 所依据的字符或字符串。

limit 要放入数组中的项目数。

此参数是可选的。

在指定的delimiter 参数出现的所有位置断开String 对象,将其拆分为多个子字符串,然后以数组形式返回这些子字符串。

5、my_sound.loadSound("url", isStreaming)方法;将MP3 文件加载到Sound 对象中。

可以使用isStreaming 参数指示该声音是事件声音(false)还是声音流(true)。

事件声音在完全加载后才能播放;声音流在下载的同时播放。

当接收的数据足以启动解压缩程序时,播放开始。

6、Sound.onSoundComplete用法:复制代码代码如下:my_sound.onSoundComplete = function(){// 此处是您的语句}事件处理函数;当声音播放完时自动调用。

Flash as2.0脚本语言大全

Flash as2.0脚本语言大全
- _rotation MC旋转的角度(单位:度)
- _soundbuftime 声音的缓冲区大小(默认值5,单位:秒)
- _target MC的路径
- _totalframes 总帧数
- _url 电影被调用的URL地址
- _visible 是否可视(True可视/False不可视)
- _focusrect 高亮按钮或者某个当前区域的显示与否(True显示/Flase不显示)
- _framesloaded 已载入的影帧数
- _height MC的高度
- _highquality 画质的高低(True高画质/False低画质)
- _name MC的实例名
- _quality 当前画质(字符串值) LOW,MEDIUM,HIGH,BEST
- parseInt 将字符串转换成整数
- random 产生0到指定数间的随机数
- scroll 文本框中的起始滚动行
- String 将参数转换成字符串
- targetPath 返回指定实例MC的路径字符串
- true 布尔是值(1)
- unescape 保留字符串中的%XX格式的十六进制字符
- else if 否则如果(与if联用)
- evaluate 调用自定义函数(Function)
- for for循环
- for .. in 依次取得对象(Object)中的各个属性或者某个数组中的所有元素
- FSCommand 发送FSCommand命令
- function 声明自定义函数
- Load Movie 装载影片
- Unload Movie 卸载影片

Flash as3实例教程间隔循环实例讲解

Flash as3实例教程间隔循环实例讲解

Flash as3实例教程:间隔循环实例讲解例为Flash AS3.0菜鸟学飞系列教程,在上一讲中我们学习了含有多个类的AS3类文件的写法,在本AS3.0教程中我们将学习到间隔循环的三种表现方式,希望对朋友们有所帮助~~间隔循环如果想使动画不依赖于帧频,可使用3种方法。

1、setlnterval()函数setlnterval()函数作用是每隔一定的时间,就调用函数setlnterval() 函数的形式为:setlnterval(函数名,时间间隔,函数参数);函数名是自定义的函数的名,时间间隔为毫秒,函数参数是自定义函数的参下面制作一个计时器://时间的初始值var t:int;//定义一个无参函数function time(){//输出时间trace(++t / 10);}//每隔0.1秒调用一次函数setInterval(time,100);测试上面的代码,可在输出面板中看到时间以0.1秒在递增。

提示:setlnterval()函数每隔0.1秒调用一次函数,变量t以加1的方式进行递增,t除以10后可表示时间。

下面的代码调用一个有参函数://定义一个有参函数function test(message){trace(message);}//每隔500毫秒调用一次函数,输出“调用函数”setInterval(test,500,"调用函数");清除setInterval()的调用,使用clearInterval()函数提示:要及时清除setInterval()函数的调用,否则会导致setInterval()函数的重复调用。

2、setTimeout()函数setTimeout()函数的使用方法与setlnterval()函数的使用方法相同,也是每隔一定时间就调用函数。

setTimeout() 函数的一般形式为:setTimeout(函数名,时间间隔,函数参数);调用一个无参函数://自定义函数,输出信息function test(){trace("函数调用");}//每隔1000毫秒调用一次test(),输出信息。

Flash AS 入门教程 三个实例讲解

Flash AS 入门教程 三个实例讲解

一、画正玄图象,由外部输入控制起点横坐标、震幅和跨度。

源文件下载点击查看动画效果<思路:我们可以在作业源程序中发现:复制代码代码如下:.......moveTo(100, 200); //正玄线的起点坐标为(100,200)可以把横坐标用一个变量(a)来表示........y = 200-100*Math.sin(i*Math.PI/180);//其中100决定震幅大小,我们可以用变量(b)来表示;横坐标1个象数,对应表示1度的角度,在一个周期360度的条件下,如果横坐标1个象数对应几度,那么跨度显然会减小,就是说sin(i*Math.PI/180)中i的系数决定跨度的大小,经过反复测试这个系数为360/c比较合理。

因此,原来程序中的这两条可以改为:复制代码代码如下:moveTo(a, 200);y = 200-b*Math.sin(360/c*i*Math.PI/180)为了能够重复使用这个画图程序,显然我们应该用自定义函数,上面的三个变量就可以做为参数。

打开源程序3.7.1.fla文件,这里只记与作业不同的地方:第1帧上:复制代码代码如下:a = b=c=""; //对输入文本变量赋初值function huaxian(a, b, c) { //自定义函数,函数名为huaxian,参数为三个文本变量............y = 200-b*Math.sin(360/c*i*Math.PI/180);//b决定震幅,c决定跨度.....if (i>c) { //超过360度时(由360/c*i>360计算得到i>c)delete onEnterFrame; //删除事件}};}huaxian(100, 100, 360); //先画一个正玄图象按扭上的脚本:复制代码代码如下:on (release) {if (c<36) {web = "请输入36以上的整数"; //跨度太小,图象误差太大} else {web=""_root.huaxian(Number(a), Number(b), Number(c));//调自定义函数,并且把其中参数转化为数值}}二、把文字和下面的mc的位置都分别作任意的排列点击查看动画效果<思路:考虑mc位置的乱排,这些mc的纵坐标都相同,因此,我们主要考虑乱排横坐标。

Flash+as入门一

Flash+as入门一

Flash as入门(1):认识AS面板本例我们将开始学习AS的相关知识,不要被这个题目吓倒哦,AS的确是一种程序语言,我们编写AS代码就叫做编程,我们学习AS首先应该克服对编程的恐惧,所以在开始学习前,我们先廷着胸大声地说:"编程其实很容易"。

ActionScript是针对Flash Player的编程语言,它在flash内容和应用程序中实现了交互性、数据管理以及其它许多功能.那么我们将程序写在什么地方呢?在flash创作环境中,我们的程序写在"动作"面板中而动作面板,又是与舞台上可以添加动作的对象相关联的.在ActionScript2.0中可以添加动作的对象有三种:关键帧、影片剪辑元件、按钮元件.编程实际就是向计算机下达指令,让计算机按我们的指令去完成一些任务.这就要求我们用计算机能看得懂的语言,这就是编程语言.ActionScript则是其中的一种.即然是语言,就同我们人类的语言一样它就有它自己的语法、语句、词汇等,这些东西就是我们要学习的内容.为了以后学习方便我们首先来学习一个语句: trace()这个语句的作用是,flash在运行时,将括号中的内容显示出来.上面我们提到,ActionScript2.0中可以添加动作的对象有三种:关键帧、影片剪辑元件、按钮元件.也就是说,我们可以在这三个对象的动作面板中编写程序.具体怎样作呢?我们来试试.新建一flash文档,如果你的flash 版本是CS3,那么请选择ActionScript2.0文档,因为本教程介绍的是ActionScript2.0.为什么不介绍3.0?因为sanbos发现很多人用的都是flash8.好,现在点击"插入"菜单,一"新建元件,建一个影片剪辑元件,随便画一个什么图形吧,将元件拖到舞台上;然后点击"窗口"一"公用库"一"按钮",然后随便选一个按钮拖到舞台上.这样,关健帧、影片剪辑、按钮都齐了.现在我们来看看怎样打开动作面板.在影片剪辑上点鼠标右键,然后在弹出菜单中点"动作",那么现在我们看到的就是动作面板了.图1:动作面板我们在按钮元件上执行相同的操作,可以得到相同的结果现在在时间轴的第1 帧上,执行相同的操作,一样地打开了动作面板.动作面板的右边留出了一大片空白,等着你去编写程序,鼠标指针在那儿闪着,便勾起了我们编程的冲动.于是你说:"我要编程了".上面我们不是介绍了一句,trace()吗?我们何不偷偷地在这里输上一句,也好过把编程的隐.于是你在这里输上:trace("我会编程了");注意大小写,括号后面跟着分号.测试影片.你会看到一个输出窗口,里面有"我会编程了"几个字是的,你已经会编程了.虽然只有一句,但它是一个ActionScript程序却是千真万确的.因此,这的确是一件值得祝贺的事情.来吧,让我们再说一次:"编程其实很容易".欣赏够以后,请关闭输出窗口,关闭播放窗口,回到几分钟之前,令我们自豪了一把的动作面板,我们来对它进行更进一步的认识.我们看到trace是蓝色的是的,ActionScript内部的词汇在编程环境中都会以蓝色表示.那么这就是一个技巧, 当你在输入程序时,如果输入ActionScript内部词汇时不是蓝色的,那么说明你输错了,那么你应该马上检查,是否有哪个字母输错了.现在问题出现了,你说我记不到那些词汇.在中学时英语考不出好成绩主要就是因为记不住单词.现在学习编程也记不住那些指令、语句,所以觉得编程好难.首先我还是说一句,你可能不太乐意听的话:多练自然就记住了.你说:我就是记不住,我是不是就不宜学习ActionScript编程呢?NO,你看说英语并不难,我张口就来.我们将标淮降低,只要你看到这些指令,能够认识它就行.相比之下,知道有些什么指令比记住那些指令的拼写要重要得多.回到动作面板,你就会明白这个道理.看看动作面板的左半部分,这里几乎将所有的指令列了出来,你可以分门别类地去找到相关指令,如影片剪辑控制、时间轴控制、常用语句等,找到相应语句,双击它,于是它便自动写到右边的编程窗口中了.是不是不用精确记住指令的拼写也能编程呢.在右边的编程窗口上面的工具栏最左边有一个加号,它具有与左边窗口相同的功能,不信你点它试试通常在ActionScript编程时,我们可能会习惯将代码写在影片剪辑、按钮元件上,这就必须要事件驱动,它的格式是:on(事件名称){要执行的语句}现在我们来试一试,在动作面板中输入on(这时你会发现弹出了一个窗口,将所有事件列了出来,你只需用鼠标选用所需要的事件双击它或回车,事件就会自动写到屏幕上.是不是很方便?很多ActionScript程序都是对影片剪辑、按钮元件、文本框等对象进行操作,这需要在属性面板中为它们命名.良好的命名习惯,对我们编写程序会有很大的帮助.按照约定,影片剪辑元件的命名以_mc结尾,如my_mc,按钮元件则是以_btn结尾,文本框则是以_txt结尾.当然你完全可以不理采这些约定,随心所欲地为他们命名.我们说遵守这些约定,会对我们编程有所帮助.还是来试一试吧.建一影片剪辑元件,然后将它拖到舞台上,打开属性面板,为它取名为:mymc_mc,在第一帧打开动作面板,输入:mymc_mc.这时会弹出一个窗口,需要哪个指令选就是了.这些指令是按拼音顺序排列的.如果你能记住所需指令的前几个字母,你不妨直接输入,这时你会发现,很快就定位到了你所需要的指令.现在,我们把元件的名称改为mymc,不以_mc结尾,再到动作面板中输入,mymc.结果什么也没有发生,后面的指令只有自己输了,或者到左边窗口中去选.按钮元件和文本框也是相同的.你可以试一下.这一课我们认识了动作窗口,这是我们ActionScript编程的地方,通过对智能化的编窗口的认识,应该消除了我们对编程的恐惧,让我们树立了学好ActionScript编程的信心Flash as入门(2):面向对象编程基础本例继续讲解AS的基础知识,今天讲解的是AS入门第二课:面向对象编程基础,对Flash的AS编程有兴趣的朋友可以到论坛与作者交流。

flash脚本语言as学习教程

flash脚本语言as学习教程

flash脚本语言as学习教程AS基础-----------------------------------做过Flash动画的Flash爱好者们都知道,要做好一个Flash动画,AS是必不可少的,即使只是很简单的几句代码也能起到整个Flash画龙点睛的作用。

这里我只简单的介绍一下AS的基本常识。

首先我们要了解AS要写在什么地方,什么时候AS会被触发执行。

1、帧:写在关键帧上面的AS,当时间轴上的指针走到这个关键帧的时候,就写在这个帧上面的AS就被触发执行了。

常见的例子有在影片结尾的帧写上 stop() 等。

操作方法就是点选关键帧,然后打开AS面板。

2、按钮:不同于帧上面的AS,按钮上面的AS是要有触发条件的。

要把AS写在按钮上,操作方法是点选目标按钮,然后打开AS面板。

举个例子能说的更明白。

假设有一个动画,要让它在播放完同时停止,那么,你要做的就是在这个动画的最后一帧写ASstop();再假设有个按钮,效果是按下按钮后停止播放,那么步骤如下。

做一个按钮,放到主场景,点选按钮,然后打开AS面板。

现在如果也在按钮上写stop();那么,输出的时候就会提示错误。

正确的应该这样写on(release){stop();}这里要比帧的动画多这些代码: on(release){} , 整个代码翻译过来就是: 当(松开){停止}红色的代码表示鼠标的触发事件事件之一,这里用的是 release 松开,按钮的常用事件:release 松开releaseOutside 在按钮外面松开press 按下rollOver 鼠标进入按钮的感应区rollOut 鼠标离开按钮的感应区现在很明确了:写在按钮上面的AS一定就是这种格式的:on(事件){要执行的代码}3、MC(电影剪辑)如果你看懂了上面的内容,那么写在MC上面的AS和写在按钮上的大同小异。

操作方法就是点选MC,然后打开AS面板。

看个例子onClipEvent(load){stop();}同样,MC需要一个事件来触发AS的执行。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、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()//按扭和自定义函数都在场景上,路径可以省略不写。

}
例3 打开21.3.fla源文件
源文件中有三个mc在做补间动作,下面の三个按扭分别控制场境中の三个mc。

观察这三个按扭上の脚本,左边一个按扭上の脚本为:
复制代码
代码如下:
on (release) {
a_mc._visible = 1;
duplicateMovieClip(a_mc, "a_mc"+1, 1);
b_mc._visible = 0;
c_mc._visible = 0;
}
中间一个按扭上の脚本为:
复制代码
代码如下:
on (release) {
b_mc._visible = 1;
duplicateMovieClip(b_mc, "b_mc"+1, 1);
a_mc._visible = 0;
c_mc._visible = 0;
}
右边一个按扭上の脚本为:
复制代码
代码如下:
c_mc._visible = 1;
duplicateMovieClip(c_mc, "c_mc"+1, 1);
a_mc._visible = 0;
b_mc._visible = 0;
}
注意观察这三个按扭上脚本中有那些是相同のの部分,那些是不同のの部分。

相同の部分,在函数中直接写下来,而不同の部分(变化着の部分)用用一个变量来表示,这个变量就是参数。

例如,这三个按扭上脚本中第一句中相同の部分是都有_visible = 1,而不同の则是要显示のmc(分别是a_mc,b_mc,c_mc),我们用变量mx来表示,那么,三个按扭上脚本中第一句可以统一表示为:
mx._visible = 1。

这里のmx就是第一个参数。

这三个按扭上脚本中第二句中相同の部分是都要复制一个mc,复制后のmcの名称都是复制对象名称+1,复制后のmcの深度都是1;不同の部分就是复制の对象不同,而这个复制の对象正好の第一句中のmc,因此,第二句中不同の部分也就可以用第一个参数mx来表示,因此,三个按扭上脚本中第二句可以统一表示为:
复制代码
代码如下:
duplicateMovieClip(mx, "mx"+1, 1).
同样办法可以得到脚本の第3,第4句,因此,我们可以在场景の第1帧上设置自定义函数:
复制代码
代码如下:
function test (mx,my,mz) {//test是自定义函数の名称,你可以用
mx._visible = 1; //你喜欢字母或者字母组合或者单词来表示
duplicateMovieClip(mx, "mx"+1, 1);
my._visible = 0;
mz._visible = 0;
}
左边这个按扭是要使a_mc显示并且复制,因此第一个参数在这里表示の应该是a_mc,第二,三个参数在这里表示の应该是b_mc,c_mc;因此,在这里调用の函数应该写成:
复制代码
代码如下:
on (release) {
test(a_mc,b_mc,c_mc)
}
仿照上面の思路,请大家在后两个按扭上分别写出脚本,使一个mc显示并且复制,另两个mc 不可见。

相关文档
最新文档