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 基本应用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文件
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脚本语言大全
- _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.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 入门教程 三个实例讲解
一、画正玄图象,由外部输入控制起点横坐标、震幅和跨度。
源文件下载点击查看动画效果<思路:我们可以在作业源程序中发现:复制代码代码如下:.......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入门(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学习教程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的执行。
flash AS编程
flash AS编程——我的学习笔记Flash常用mc属性控制Flash中有图形、按钮和影片剪辑这三种类型的元件,电影属性就是影片剪辑所拥有的属性,如_alpha属性、_x属性等,我们在很多的实例文章中都已接触过这些属。
用这些电影属性可以设计出许多眩目的效果,但可能很多读者还没有真正的熟悉它。
熟练地掌握和使用这些电影属性,不但可以提高自己的Flash的编程能力,假以时日,你的Flash水平定可"更上一层楼"。
今天我们就来总结一下Flash的属性控制应用。
效果预览:图 1效果简介:这是一个使用电影属性来完成的综合效果。
笔者想通过这个具体实例给大家讲解影片剪辑属性的作用及其使用方法。
在文章讲解前,大家应该先知道这个概念——从库中拖拽到场景中的元件就是一个实例。
只有影片剪辑、按钮实例能使用电影属性。
文章中将学到使用常用电影属性实现的一些效果。
制作步骤:设置场景的大小为480px×360px,背景色为#893300,帧频为12fps。
1.把主场景中的"图层 1"改名为"图片"层,然后导入一张图片,笔者使用的一个滑梯图片,其大小是(60px,30px)。
2.鼠标左键选中滑梯图片,按F8键,在弹出的"创建新元件"面板中把该图片转换成"滑梯"影片剪辑元件。
接着在其编辑场景的"属性"面板如图 2所示进行设置,即让滑梯以场景的左角定点在场景的中心,如图 3所示,这在需要给影片剪辑严格定位的编程中经常使用。
图 2图 33.回到主场景。
选中"滑梯"元件,然后在"属性"面板中给该元件起个实例名"mc"。
4.下面我们先来编写一段程序让读者可以通过方向键来自由控制实例"mc"的运动。
右键点选实例"mc",在弹出的菜单中选择"动作"命令,然后在打开的"动作"面板中键入如下代码(专家模式下):帧被载入时执行onClipEvent (enterFrame) {如果敲击左方向键,实例"mc"左移15pxif (Key.isDown(Key.LEFT)) _x -= 15;不让实例"mc"跑到按钮区里if (_x<=100) _x = 100;如果敲击右方向键,实例"mc"右移15pxif (Key.isDown(Key.RIGHT)) _x += 15;不让实例"mc"从场景右面外跑出去if (_x>=480-_width) _x = 480-_width;如果敲击上方向键,实例"mc"上移20pxif (Key.isDown(Key.UP)) _y -= 20;不让实例"mc"从场景上面外跑出去if (_y<=0) _y = 0;如果敲击下方向键,实例"mc"下移20pxif (Key.isDown(Key.DOWN)) _y += 20;不让实例"mc"从场景下面外跑出去if (_y>=360-_height) _y = 360-_height;}在代码中,使用到了_x、_y、_width、_height这四个电影属性了。
flash中的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==datareapeat_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 as2.0 时间日期函数
mm = mydate.getMinutes();//获取本地机器上的分钟数值,并放在mm变量中。
ms = mydate.getSeconds();//获取本地机器上的秒数值,放在ms变量中。
mytime = myear+"年"+mmon+"月"+mdate+"日"+mou+":"+mm+":"+ms;//让舞台上变量名为
实例来进行操作!命令格式如下:
实例名=new Date()
二、显示日期及做一个走动的表
下面我们通过一个例子来介绍Date对象的各种命令使用方法。
步骤:
1、新建立一flash文档,将层1改名为:文字显示,并在舞台下方绘制出一个动态文
本框,起一个变量名:mytime
2、新建立一个层,并把这个新建立的层起名为:表盘,然后使用绘图工具在舞台上绘制出一个不带分针、时针和秒针的表盘。
getDate()按照本地时间返回某天是当月的第几天。
getHours()按照本地时间返回小时值。
getMinutes()按照本地时间返回分钟值。
getSeconds()按照本地时间返回秒数。
以上命令并不是很难理解,都是获取本地机器上日期及时间。但是要使用这些命令,我
们必须先用Date对象的构造函数创建一个Date对象的实例。然后,就可以用创建的这个
mmon = mydate.getMonth()+1;//获取本地机器上的月份,并放在mmon变量中。因为获取的
值是0代表一月,1代表二月,依此类推,所以要加上1才正确
大家来理解Flash使用AS来画线的教程-电脑资料
terrain.moveTo(100, 100);
terrain.lineTo(300, 100);
terrain.lineTo(300, 300);
terrain.lineTo(100, 300);
terrain.lineTo(100, 100);
只有按一下鼠标才能画:
createEmptyMovieClip("terrain", 1);
terrain.lineStyle(10, 0xff00ff, 100);
imdrawing = false;
nMouseDown = function () {
if (imdrawing == false) {
var inner:Boolean = false;
var knockout:Boolean = false;
var hideObject:Boolean = false;
var my_shadow_filter:DropShadowFilter = new DropShadowFilter(distance, angleInDegrees, color, alpha, blurX, blurY, strength, quality, inner, knockout, hideObject);
大家来理解Flash使用AS来画线的教程-电脑资料
教程
注:每种代码后面都有演示效果,你可以直接测试,在文章最后给大家提供了所有的源文件
给大家简单介绍一下Flash中使用AS来画线,从下面这个函数开始吧!
_root.createEmptyMovieClip("terrain", 1);
AS入门教程基础篇
AS入门教程基础篇我写的这些教程,目的是希望初学FLA SH的爱好者能多动手,少提问。
做过FLA SH的爱好者都知道,要做好一个FLASH动画,AS是比不可少的。
即使是几句简单的代码也能起到整个FLASH动画画龙点睛的作用。
这里我只简单的介绍一下AS的基本常识。
1.祯: 写在关键祯上面的AS.当时间轴上的指针走到这个关键祯的时候,就写在这个祯上面的AS 被触发执行了.常见的例子有在影片结尾的祯上写上stop()等.操作方法就是点选关键祯,然后打开AS面板.2.按钮: 不同于祯上面的AS,按钮上面的A S是要有触发条件的.要把AS写在按钮上,操作方法是点选按钮,然后打开A S面板.例如:做一个按钮,放到主场景,点选按钮,然后打开A S面板,写入:on(release){stop();}这里比祯动画多这些代码:on(release){},整个翻译过来就是:当(松开){停止;}红色的代码表示鼠标的触发事件之一,这里使用release松开,按钮的常用事件:release 松开presss按下rollOver鼠标进入按钮的感应区rollOut鼠标离开按钮的感应区现在明白了写在按钮上面的AS一定就是这种格式的:on(事件){要执行的代码}3.mc(电影剪辑)如果你看懂了上面的饿内容,那么写在MC上面的AS和写在按钮上面的大同小异,操作方法就是点选MC,然后打开动作面板,例如:onClipEvent(load){stop();}同样的,MC也需要一个事件来触发A S的执行.翻译这段就是:当剪辑(载入){停止}红色代码同样表示一个事件.mc的事件有下面这些:load载入,当MC出现的时候执行,也就是除非卸载这个MC,否则load事件内的代码只执行一次. unload卸载,当MC卸载的时候执行.enterFram存在的每个祯.在MC存在的每个祯都要执行一次代码.如果你的场景有100个祯,有个MC从41祯开始出现到100祯才消失,那么这个MC上面的代码执行了60次.mouseDown按下鼠标,在场景内任何地方都算.和按钮不一样的地方.mouseMove移动鼠标,只要移动鼠标就执行代码mouseUp松开鼠标同样你要明确:写在MC上的代码一定总是这种格式:onClipEvent(事件){代码}看到这里,你就明白的写在祯,按钮,MC的的代码有什么不一样了.AS入门语法篇首先要让大家明白的是:AS语法的大小写是敏感的.如:gotoAndPlay() 正确gotoAndplay() 错误.我们要从开始养成编程的好习惯,如在每个语句后面都加上分号,有可能的话,尽量给复杂的语句加上注释.注释的例子://这里是个注释,但是只能有一行/*这也是个注释,可以写很多行*/接下来,介绍几个类型的语法:1.几个常用的控制场景的方法.如:play();//让时间轴的指针播放stop();//停止时间轴的指针在程序触发时候的那个祯gotoAndStop();//让指针跳转到某个祯,然后继续播放gotoAndStop();//让指针跳转到某个祯然后停止在那祯nextFrame();//往下走一祯prevFrame();//往前走一祯上面的都是方法.也就是大括号{}里的代码,是事件的执行者2.控制属性的语法:_x // 用来标识目标的X轴的坐标_y_alpha //(属性),用来标识目标的透明度_width_name上面的都是属性3.控制语句流程的语法.如:if(条件){//条件满足执行这里的代码}else{//条件不满足执行这里的代码}for(i=0;i){// 执行这里的代码N次}while(条件){//当条件满足时一直执行这里的代码}这些都是基本的语法,也是A S的基础4.其他方法和自己定义的方法这里我不能把所有的语法都一一列出来介绍,因为实在是太多了,具体可以参考Flash自带的帮助手册。
flash常用函数as
目录
一、AS语法基础 二、影片剪辑函数 三、鼠标函数 四、浏览器/网络函数
ActionScript的添加方法
从添加脚本的对象来分,ActionScript主要有以下几种: 为时间轴中的关键帧添加的脚本,为影片剪辑元件实例添 加的脚本,为按钮添加的脚本。
在关键帧上添加脚本
4.分号 分号的重要性仅次于点语法。因为在Flash中,是用分号(;)来明确 的表示一条语句的结束。如: myText = “Hello world!”; gotoAndPlay(10); 虽然Flash不要求语句结束时必须使用分号,但明确的使用分号作为 语句的结束是好的编程习惯。
在时间轴中的关键帧上添加脚本的操作为:单击帧,按F9打开动作面 板,在该面板右侧空白窗格内写入脚本即可。 帧上写的脚本即加入的动作。例如,在关键帧中加入脚本stop(),则 影片播放到该帧时便停在该帧: stop(); 又例如,在关键帧中加入如下脚本,则实例名为btn的按钮元件在鼠 标释放时会转向地址:。 btn.onRelease = function() { getURL("";); }; 在动作面板左上角有提示现在的动作是给元件加的还是给帧加的,左 下方则可以看到当前文件中所有加了动作的帧或元件。
3.stop函数 stop函数使得影片停止播放。 stop函数的书写形式为:stop()函数和play()函数一样, 不带参数,但小括号不能省略。 以下脚本展示了一个鼠标事件,当单击按钮时,当前影片 停止播放: on(release){ stop(); } 4. nextFrame函数 nextFrame()将播放头转到下一帧并停止。 5. prevFrame函数 prevFrame()将播放头转到前一帧并停止。如果当前帧为 第 1 帧,则播放头不移动。
Flash AS 入门教程 圆和椭圆函数的应用
1、圆的参数方程:复制代码代码如下:x=r*cosX //x、y是圆上一点的坐标;r是圆半径;y=r*sinX //X是圆半径绕圆心旋转的角度。
2、椭圆的参数方程:复制代码代码如下:x=a*cosX //x、y是椭圆上一点的坐标;a、b分别是长、短轴y=b*sinX //X是椭圆旋转的角度。
圆和椭圆函数应用举例例3.3.1 (打开3.3.1.fla文件场景中有一个影片剪辑,双击这个mc,在这个mc内,我们看到有两个小影片剪辑(f_mc,d_mc),写在第一帧上的脚本:this.f_mc._visible = this.d_mc._visible=0;for (k=1; k<21; k++) {duplicateMovieClip(this.f_mc, "f"+k, k);duplicateMovieClip(this.d_mc, "d"+k, k+40);}for (k=1; k<21; k++) {this["f"+k]._x = 130*Math.cos(18*k*Math.PI/180);//圆半径是130,圆周上每隔18度this["f"+k]._y = 130*Math.sin(18*k*Math.PI/180);//放一个复制的mcthis["d"+k]._x = 130*Math.cos(18*k*Math.PI/180);//椭圆的长轴是130,短轴是60;椭圆的this["d"+k]._y = 60*Math.sin(18*k*Math.PI/180); //圆周上也是每隔18度放一个复制的mc }角度18*k*Math.PI/180中Math.PI/180是把1度转换成的弧度;k取1~20,那么18*k*Math.PI/180就是18度到360度。
初学flash-AS的基本代码解释(一)
初学flash-AS的基本代码解释(一)AS的基本代码解释(一)基本Action。
包括:- Go to 跳转到指定的帧- Play 播放- Stop 停止- Toggle High Quality 在高画质和低画质间切换- Stop All Sounds 停止所有声音的播放- Get URL 跳转至某个超联结- FSCommand 发送FSCommand命令- Load Movie 装载影片- Unload Movie 卸载影片- Tell Target 告知目标- If Frame Is Loaded ..判断帧是否被完全载入- On Mouse Event 鼠标事件。
其他Actions。
包括:- break 跳出循环- call 调用指定帧(一般喊有某个特定函数)- comment 注释- continue 继续循环- delete 删除一个对象(Object)中的变量- do while do while循环- duplicateMovieClip 复制MC- else 否则(与if联用)- else if 否则如果(与if联用)- evaluate 调用自定义函数(Function)- for for循环- for .. in 依次取得对象(Object)中的各个属性或者某个数组中的所有元素- FSCommand 发送FSCommand命令- function 声明自定义函数- getURL 跳转至某个超联结- goto 跳转到指定的帧- if 如果- ifFrameLoaded ..帧是否完全被载入- include 读入外部的ActionScript程序文件(.as)- loadMovie 装载MC- loadVariables 转载外部文件中的数据,这些外部文件可以是文本文件,或者是由ASP/CGI等脚本返回的文本值- on 鼠标事件的触发条件- onClipEvent MC的事件触发程序- play 播放- print 输出到打印机- removeMovieClip 删除MC- return 在函数(function)中返回一个值- set variable 设定变量值- setProperty 设定属性- startDrag 开始拖动- stop 停止- stopAllSounds 停止所有声音的播放- stopDrag 停止拖动- swapDepths 交换两个MC的深度- tellTarget 指定Action命令生效的目标- toggleHighQuality 在高画质和低画质间切换- trace 跟踪调试- unloadMovie 卸载MC- var 声明局部变量- while 当..成立时..- with 对..对象(Object)做..。
《Flash高级编程》输出函数和自定义函数
自定义函数
如果有一个功能或者一段代码要经常使用,则可以把它写
成自定义函数,在用到的时候调用它。使用函数是为了简 化编程的负担,减少代码量和提高效率。 Flash中自定义函数的一般形式为: function 函数名称(参数1,参数2,……,参数n){ //函数体。即函数的程序代码 } 自定义函数必须调用才有效。调用自定义函数的一般形式 为: 路径.函数名称(参数1,参数2,……,参数n)
练习1
创建一个函数,然后调用它.打开第一帧的动作面板,输
function test(){ trace("我会写函数了"); } test(); 测试影片,在输出面板中,会出现"我会写函数了"几个字.
入:
有时会有这样的情况,在函数内的语句中要用到数据,在创建
函数的时候,却不能确定这些数据,比如每次调用会用不同的 数据.这时就会用到参数,调用时,通过参数将数据传递给函数. 创建函数的格式: function 函数名称(参数1,参数2,…){ 要执行的语句 } 调用函数的格式: 函数名称(值1,值2,…);
在一个按钮元件实例上添加如下代码 Nhomakorabea
on (release) { action(bottle, -5); } 在另一个按钮元件实例上添加如下代码: on (release) { action(bottle, 5); }
项目实践—7.2 计算机课件
trace(
);语法
trace( );中的括号里还可以是变量的运算。 例: aa=5; trace(aa+bb); 输出结果为15; trace还可以输出多个变量: 例:若想把它们分开显示,改为: trace(aa+" "+bb); 输出为5 10.
flash“自定义函数”的讲解
flash“自定义函数”的讲解百度提问:spring()在flash中的用法,高手请详细讲解一下?学习flash代码时,常会遇到spring(),头痛啊,既不知道它是啥意思同,更不知道它有哪些用法,用在哪,怎么用,啥意思,有什么作用?比如下面这段代码就用到了spring(),我就看不懂了:function spring(mc, x, y){dx = x - mc._x;dy = y - mc._y;mc.vx = mc.vx + dx * 3.000000E-001;mc.vy = mc.vy + dy * 3.000000E-001;mc.vy = mc.vy + grav;mc.vx = mc.vx * fraction;mc.vy = mc.vy * fraction;mc._x = mc._x + mc.vx;mc._y = mc._y + mc.vy;lineTo(mc._x, mc._y);} // End of the functionfraction = 7.000000E-001;grav = 20;my_mc.vx = 0;my_mc.vy = 0;my_mc1.vx = 0;my_mc1.vy = 0;my_mc2.vx = 0;my_mc2.vy = 0;onEnterFrame = function (){clear();lineStyle(1, 0, 100);moveTo(_xmouse, _ymouse);spring(my_mc, _xmouse, _ymouse);spring(my_mc1, my_mc._x, my_mc._y);spring(my_mc2, my_mc1._x, my_mc1._y);};如果哪位高人愿意给详细讲解,最好附上实例,我必重谢!回答共1条检举|2013-03-02 19:14网雨霏霏|当前分类:20级排名:153看第一行代码这是定义函数的代码作者定义了一个名字叫做spring的函数以实现特定功能其功能就是// End of the function之前的大括号内的属于自定义的不是系统内置的追问那你能详细地给讲讲什么是自定义函数,怎么自定义函数,有什么用途,以及有什么注意事项?谢谢回答1、什么是函数将完成一个任务的若干语句封装起来,就叫函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 不可见。