Flash_AS2.0代码大全
Flash_AS2.0代码大全
Flash as2.0代码大全与Flash 制作技巧一、注释// 单行注释符/* */ 多行注释符/*开始,*/结束二、转义字符例1:trace("Hello\n"+"ActionScript"+"2.0") 字符串之间使用运算符+连接 结果输出: HelloActionScript2.0实例:获得系统的事件2:var time = new Date();//创建Date 类的实例(Date 类的实例含系统时间的所有信息);注意var 中的字母v 是小写的。
var yy = time.getFullYear(); var mm = time.getMonth()+1;/*getMonth 比较特殊,它返回的值是0-11之间的数值, 所以必须要加上1*/ var dd = time.getDate();var xq = time.getDay(); //返回值为0,周末 var hh = time.getHours();转义序列\b\f\n\r\t\ " \' \\字符退格符(ASCII8)换页符(ASCII12)换行符(ASCII10)回车符(ASCII13)制表符(ASCII9)双引号 单引号 反斜杠var min = time.getMinutes();var ss = time.getSeconds();trace(yy+"年/\n"+mm+"月\n"+dd+"日\n"+"星期"+xq+"\n"+hh+"点\n"+min+"分\n"+ss+"秒")//换行符号必须在引号里边才可以a=yy+"年"+mm+"月"+dd+"日"+"星期"+xq+hh+"点"+min+"分"+ss+"秒"三、声明方式及获取类型1.变量的声明方式,数字于字符串数字相加的规则数字声明的方式var a:String="12" ; //声明变量a是一个字符串类型,为12var b:Number=34 ; //声明变量b是一个数字字符串类型,为34var c=a+b ; //声明变量c=a+btrace(c); //字符串类型和数字类型的变量相加时,数字型被转换成字符串再相加输出结果:12342.实例:确定变量的数据类型 typeofvar m="12";trace(typeof(m));m=2;trace(typeof(m))输出结果:string number3.改变数据的类型:数字Number()、字符串String()、逻辑是否Boolean、对象数据类Object()、数组Array();var a ="12" ; //声明变量a是一个字符串类型,为12var b=Number(a); //将a转换为数字类型,赋予btrace(typeof(b)+":"+b)输出结果:number:12四、运算符1.点运算符:用来连接对象与嵌套再对象中的子对象,以及访问对象于对象的属性和方法。
Flash编程(AS2.0)教程--事件处理
Flash编程(AS2.0)教程--处理事件事件,是推动Flash程序运行的灵魂,可以说,没有事件就没有Flash程序,真是因为有了丰富的事件,Flash程序的交互性才能够得以实现。
开发Flash程序时,我们需要花很大一部分精力去估计程序应该处理哪些事件以及如何处理这些事件。
比方说对一个按钮,我们是不是只需要处理一下用户单击按钮所触发的事件?如果需要按钮对用户的更多操作作出反应,那么我们就需要添加相应的事件处理代码。
Flash程序可以处理的事件可谓多如牛毛,我们显然不能可能将他们一个一个罗列出了讲个所以然,其实这些事件的名称、作用和处理方法是相似的,只要掌握基本的原理,就可以一通百通。
最重要的并不是了解每个事件的细节,而是要学会根据自己需要完成的程序所具有的功能选择适当的事件并进行处理。
在第1章的实例中,我们已经使用代码处理了一个Press事件,事件处理代码的结构都是一样的,用自然语言来描述就是:2.1鼠标和键盘事件鼠标事件可以说是应用最多的事件了,所以我们就从鼠标事件下手来看看当用户在屏幕上挥动鼠标时,Flash应该如何作出反应。
2.1.1鼠标按下(on(press))如果某个界面元素(比如一个按钮或者一个影片剪辑的实例)的代码中含有on(press)这样的事件处理代码,那么当用户在这个界面元素上按下鼠标时,on(press)后面的大括号中的代码就会被执行。
2.1.2鼠标释放(on(release))这个事件在鼠标健释放的时候发生,这个事件通常都是在on(press)之后发生的,有press才能有release嘛!举个例子来说,当我们需要处理用户单击某个按钮的事件时,就可以为这个按钮添加一个on(release)事件处理。
尽管在这种情况下on(press)和on(release)的作用是相似的,因为通常press 之后总会release,但是我们还是应当尽量使用on(release),为什么呢?因为如果使用on(press)会让你的按钮“过于敏感”——轻轻一按,代码立刻就被执行了,如果用户发现自己按错了,可就没有后悔药吃了。
Flash as2.0代码大全(最全合集)
Flash as2.0代码大全与Flash制作技巧Flash as2.0代码大全与Flash制作技巧外部调用swfon (release) {loadMovieNum("service.swf", 1);}外部调用数据loadVariablesNum("about.txt", 0);eCodepage = true;//中文音乐加入mySound = new Sound();mySound.attachSound("1");mySound.start();关闭指定音乐mySound.stop("1");外部调用音乐mySound=new Sound();mySound.loadSound("music.mp3",true);mySound.start(0,100)关闭音乐mySound.stop();场景:on (release) {gotoAndStop("猫的历史",1);}外部调用on (release) {loadmovienum("a.swf",1)}清空文本框_root.text=""On(Release)Set Variable:"input" = ""Set Variable:"output" = ""End On轻松实现Flash的全屏播放许多人都看过这样的效果:把光盘放入光驱后,光盘自动运行,接着便是一段Flash制作的开场动画,动画是全屏播放的,且右键点击无效,动画播放结束后,出现“关闭”按钮,单击该按钮后,全屏动画关闭。
其实上面提到的全屏播放以及取消右键菜单等效果都是靠Fscommand指令在发挥作用。
Fscommand指令主要是用来控制Flash影片播放器的,但也可以用来打开其它的应用程序。
运用Flash AS 2.0代码实现加载进度条效果
先来看下效果:只能放一次哦如果用swf文件打开后再按一次ctrl + enter健哈这种效果很有用哦对比较大的文件很有帮助希望大家都能学会第一步:新建一flash文件,大小自己设置第二部:新建一影片剪辑元件,画出一矩形,是矩形左上角与元件中心对其如图第三步:回到主场景中,画出你想要被遮罩的图形,我写的是我网名,这个自己设置如图第四步:新建一图层,把矩形元件拖到主场景中,使其与你图层一中的图形完全重合,把此矩形的长度和宽度改为和你图形的长度宽度一致,单击此矩形,设置其实例名称为loadmc b第五步:单击图层一的第一帧,打开动作面板输入如下代码代码:stop();_root.onEnterFrame = function() {_root.loadb.text = Math.round((_root.getBytesLoaded()/_root.getBytesTotal())*100*100)/ 100;_root.loadb.text += "%";_root.loadmcb._xscale = (_root.getBytesLoaded()/_root.getBytesTotal())*100;if (_root.getBytesLoaded() == _root.getBytesTotal()) {_root.nextFrame();}};代码不难理解第六步:点击左边工具栏的“文本工具”,在下面属性面板中设置其为动态文本,设置如图然后在舞台合适的位置单击一下,这个动态文本将会输出加载的百分数,单击后会出现一文本框,再单击选择工具,选中该文本框,在属性面板中设置其实例名称为loadb第七步:选择文件》导入>导入一段音乐文件或者任何视频文件越大效果越好但也不能太大导入到库面板中第八步:新建一图层三,在图层三的第二帧中插入一个空白关键帧,然后把刚才导入的东西放到第二帧中,并往后插入帧知道音轨消失如图第九步:单击图层二右键选择遮罩,这时应该就没问题了哈最后帧如图最后测试影片这时你会发现看不到效果,而是直接进入第二帧开始了,请再次按下crtl+e nter健,这时就会看到你可爱的进度条了哈如果次swf文件放在网上会直接出现进度条加载完成后才会开始播放第二帧。
flashas2.0基本脚本命令
1.play();播放影片2.stop();停止影片播放3.on(release){ play(); } 当按下鼠标并释放时,播放影片press点击、按下鼠标4.on(press){ gotoAndStop(10) ;} 当按下鼠标时,跳转到当前场景第10帧并停止影片播放on(press){ gotoAndPlay(10) ;} 当按下鼠标时,跳转到当前场景第10帧并播放影片on(press){ gotoAndPlay(“场景名”,10) ;} 指定场景gotoAndPlay(10) ; 跳转到当前场景第10帧并播放影片播放gotoAndStop(10) ; 跳转到当前场景第10帧并停止影片播放5.nextScene();跳转到下一个场景并停止播放;prevScene();跳转到上一个场景并停止播放;nextFrame();跳转到下一个帧并停止播放;prevFrame();跳转到上一个帧并停止播放;6.stopAllSounds();停止播放所有声音7.getURL("", "_blank");打开新的空白网页中网址;_self当前网页8.fscommand("fullscreen", "true"); 自动全屏on(release){fscommand("quit", "true");}单击按钮退出影片播放Ctrl+Enter测试影片;F9打开动作面板;F8打开转换元件对话框;F7插入空白关键帧F6插入关键帧;F5插入普通帧;元件类型:图形元件、按钮元件、影片剪辑元件文本框类型:静态文本、动态文本、输入文本按钮包括4帧:弹起、鼠标经过、按下、点击。
Flash as2.0代码大全(最全合集)
Flash as2.0代码大全与Flash制作技巧Flash as2.0代码大全与Flash制作技巧外部调用swfon (release) {loadMovieNum("service.swf", 1);}外部调用数据loadVariablesNum("about.txt", 0);eCodepage = true;//中文音乐加入mySound = new Sound();mySound.attachSound("1");mySound.start();关闭指定音乐mySound.stop("1");外部调用音乐mySound=new Sound();mySound.loadSound("music.mp3",true); mySound.start(0,100)关闭音乐mySound.stop();链接场景:on (release) {gotoAndStop("猫的历史",1);}外部调用on (release) {loadmovienum("a.swf",1)}清空文本框_root.text=""On(Release)Set Variable:"input" = ""Set Variable:"output" = ""End On轻松实现Flash的全屏播放许多人都看过这样的效果:把光盘放入光驱后,光盘自动运行,接着便是一段Flash制作的开场动画,动画是全屏播放的,且右键点击无效,动画播放结束后,出现“关闭”按钮,单击该按钮后,全屏动画关闭。
其实上面提到的全屏播放以及取消右键菜单等效果都是靠Fscommand指令在发挥作用。
Fscommand指令主要是用来控制Flash影片播放器的,但也可以用来打开其它的应用程序。
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 AS2.0 中的函数重载
Flash AS2.0 中的函数重载学过C++的人都知道 C++中函数可以重载吧现在我写了个类可以在Flash AS2.0种模拟函数重载希望对各位有用/**************************************************************** 程序编写:KoaQiu(小贝)联系方式:KoaQiu@说明:函数重载示例文件使用方法:1。
保证库中有“重载”组件2。
编写重载函数例如方法Add 有3个重载函数分别命名为add_1,add_2,add_3;3。
编写函数主体具体方法见以下的代码4。
现在可以在该函数的作用域中随意使用此函数了申明:可以自由使用此文件(开发、修改或转载)但需保存此版权信息。
如果你扩展了此文件请通知我并提供一份副本给我。
谢谢!2004-12-17 于E++工作室***************************************************************** function fun() {var t = new m.重载(this);//第一个参数是重载函数名//第二个参数是参数类型列表注意一定要书写正确t.addFun(“fun1”, “boolean”);t.addFun(“fun2”, “number,number”);t.addFun(“fun3”, “string,string”);//自动判断并调用正确的函数此语句不用更改return t.Call(arguments);}function fun1(a:Boolean) {trace(“call fun1”);}function fun2(a:Number, b:Number) {trace(“call fun2”);return a+b;}function fun3(a:String, b:String) {trace(“call fun3”);return a+b;}trace(“1+2=“+fun(“1”,”2”));trace(“1+2=“+fun(1, 2));fun(99);学好版面设计的小窍门1、版面设计中要有理由对齐2、版面设计中要做些精致的小零件3、版面设计中的色块运用,往往选取图形中的颜色4、版面设计中的统一、均衡、韵律5、版面设计中的视觉导向、视觉中心根据版面中的图形确定6、版面设计中要有隐形矩形框、隐形对齐线条7、版面设计中敢于留白,整个版面中要通风,利于让人行走。
FLASH(as2.0)实用代码大全
外部调用swfon (release) {loadMovieNum("service.swf", 1);}外部调用数据loadVariablesNum("about.txt", 0); eCodepage = true;//中文音乐加入mySound = new Sound();mySound.attachSound("1"); mySound.start();关闭指定音乐mySound.stop("1");外部调用音乐mySound=new Sound();mySound.loadSound("music.mp3",true); mySound.start(0,100)关闭音乐mySound.stop();链接场景:on (release) {gotoAndStop("猫的历史",1);}外部调用on (release) {loadmovienum("a.swf",1)}清空文本框_root.text=""On(Release)Set Variable:"input" = ""Set Variable:"output" = ""End On轻松实现Flash的全屏播放许多人都看过这样的效果:把光盘放入光驱后,光盘自动运行,接着便是一段Flash制作的开场动画,动画是全屏播放的,且右键点击无效,动画播放结束后,出现“关闭”按钮,单击该按钮后,全屏动画关闭。
其实上面提到的全屏播放以及取消右键菜单等效果都是靠Fscommand指令在发挥作用。
Fscommand指令主要是用来控制Flash影片播放器的,但也可以用来打开其它的应用程序。
Fscommand指令只有在Flash影片播放器执行时才有效(.swf和.exe),在Flash制作过程中,按“Ctrl+Enter”预览动画,以及把动画发布成网页文件时,此指令无法发挥它的功能。
Flash_AS2.0代码大全
Flash as2.0代码大全与Flash 制作技巧一、注释// 单行注释符/* */ 多行注释符/*开始,*/结束二、转义字符例1:trace("Hello\n"+"ActionScript"+"2.0") 字符串之间使用运算符+连接 结果输出: HelloActionScript2.0实例:获得系统的事件2:var time = new Date();//创建Date 类的实例(Date 类的实例含系统时间的所有信息);注意var 中的字母v 是小写的。
var yy = time.getFullYear(); var mm = time.getMonth()+1;/*getMonth 比较特殊,它返回的值是0-11之间的数值, 所以必须要加上1*/ var dd = time.getDate();var xq = time.getDay(); //返回值为0,周末 var hh = time.getHours();转义序列\b\f\n\r\t\ " \' \\字符退格符(ASCII8)换页符(ASCII12)换行符(ASCII10)回车符(ASCII13)制表符(ASCII9)双引号 单引号 反斜杠var min = time.getMinutes();var ss = time.getSeconds();trace(yy+"年/\n"+mm+"月\n"+dd+"日\n"+"星期"+xq+"\n"+hh+"点\n"+min+"分\n"+ss+"秒")//换行符号必须在引号里边才可以a=yy+"年"+mm+"月"+dd+"日"+"星期"+xq+hh+"点"+min+"分"+ss+"秒"三、声明方式及获取类型1.变量的声明方式,数字于字符串数字相加的规则数字声明的方式var a:String="12" ; //声明变量a是一个字符串类型,为12var b:Number=34 ; //声明变量b是一个数字字符串类型,为34var c=a+b ; //声明变量c=a+btrace(c); //字符串类型和数字类型的变量相加时,数字型被转换成字符串再相加输出结果:12342.实例:确定变量的数据类型 typeofvar m="12";trace(typeof(m));m=2;trace(typeof(m))输出结果:string number3.改变数据的类型:数字Number()、字符串String()、逻辑是否Boolean、对象数据类Object()、数组Array();var a ="12" ; //声明变量a是一个字符串类型,为12var b=Number(a); //将a转换为数字类型,赋予btrace(typeof(b)+":"+b)输出结果:number:12四、运算符1.点运算符:用来连接对象与嵌套再对象中的子对象,以及访问对象于对象的属性和方法。
Flash AS2.0
Flash AS2.0 入门基础
本节涉及的知识点
赋值运算符“=”:
这个等号“=”是一个“赋值运算符”,不表示相等,相等运算符是 两个连接的等号“==”,
加法赋值运算符“+=”:
格式是:数值(或者字符串)1 += 数值(或者字符串)2 例:this._parent._xscale += this._parent._xscale+10; this._parent._xscale += 10; 还有减号赋值运算符“-=”相乘赋值运算符“*=”,除法赋值运算 符“/=”等等。
Flash AS2.0 入门基础
本节涉及的语法及规范
1、大括号“{}”用来放置结合在一起依次 执行的语句块。
2、绝对路径:Flash中目标路径有两种,绝 对路径和相对路径。
3、点语法“.”是基于“面向对象”的语法 形式,就是利用目标对象本身去管理自己, 用“.”语法通知目标对象执行什么指令是 非常简洁的语法形式。
Flash AS2.0 入门基础
一、认识“动作”面板
脚本工具栏
动作工 具箱
按F9打开面板
脚本导 航器
脚本编 辑器
状态栏
Flas
在Flash中添加动作脚本可以分为两种方式 一是:为“帧”添加动作脚本 二是:向“对象”添加动作脚本。 “帧”动作脚本,是指在时间轴的“关键帧”上添加的动作脚本。 “对象”动作脚本,是指在“按钮”元件和“影片剪辑”元件的实例 上添加的动作脚本。 注意:“图形”元件上是不能添加动作脚本的。
Flash AS2.0 入门基础
六、条件判断语句“if、else”、trace语句、动态文本
1、条件判断语句在flash中是实用性很强、使用也很频繁的语句。 语句格式是: If(条件){ 执行指令 } else{ 执行指令 } 小括号里的条件是一个计算结果为 true 或 false 的表达式 2、测试代码时经常使用的语句 语句格式是:trace(变量、字符串或表达式)
FLASH摄像机代码AS2AS3
////////////////////////////////////////////////////////////////////////////
// Gets the current scale of the vCam ////////////////////////////////////// var h:Number = camH*(_yscale*.01);
// Creat Point for dynamic registration point ////////////////////////////// var rp = {x:this._x, y:this._y};
onEnterFrame = function ():Void {
camControl();
addProperty("_yscale2",get_yscale2,set_yscale2);
addProperty("_rotation2",get_rotation2,set_rotation2); ////////////////////////////////////////////////////////////////////////////
/**
* Get the bounds of the camera
**/
var bounds_obj:Object=this.getBounds(this);
camH=bounds_obj.height;
camW=bounds_obj.width;
addEventListener(Event.ADDED_TO_STAGE,onAdded,false,0,true); }else{
flashAS_代码大全_2.0
当鼠标经过时动画播放到某处
on (rollover) {
gotoAndPlay(10);
}
当鼠标按下时动画播放到某处
on (release) {
gotoAndPlay(1);
}
如何使得flash一打开就是全屏?
fscommand("fullscreen",true)
如何不能使用右键?
End On
1、var a = Math.abs(-7); // 求绝对值(这里是求-7的)
2、function myFunction(myNum) {
var newNum = myNum+5;
return newNum;
}
trace(myFunction(8));
//定义 调用并输出函数值
第一帧加入(第一帧空帧):
t=0 //给t赋初值
第二帧加入:
stop(); //停止在第二帧
ms=new Sound //新建一个声音对象ms
ms.attachSound("sound") //空声音对象从库中调用连接名为sound的声音
ms.start() //ms开始播放
ms.onSoundComplete=function () { //当ms这个声音播放完后执行以下AS
trace(weekDay);
}
数组中还可以嵌套数组,即构成多维数组,如下所示:
polyArray = new Array();
for (var i = 0; i<3; i++) {
polyArray = new Array(i*3+1, i*3+2, i*3+3, i*3+4);
flash8.0_2.0AS代码大全
分享一些在制作MTV和个人Flash中常用的AS代码,附详细讲解1.全屏播放fscommand("fullscreen",true);2.打开时全屏,在该帧停止fscommand("fullscreen",true);stop();3.跳帧播放(从第几针开始播放后)on (press) {gotoAndPlay(?);}4.点击时开始播放on (press) {play();}5.退出语句如果是FLASH自带的控件on (click){ fscommand("quit",""); }自已做的按钮on (release){ fscommand("quit",""); }6、当鼠标滑过影片剪辑时,停止播放时间轴。
on (rollOver) {_root.stop();}7、当在影片剪辑上按下鼠标时,停止播放影片剪辑。
on (press) {stop();}8、当影片剪辑上按下鼠标时,播放影片剪辑。
on (release) {play();}9、当鼠标滑离影片剪辑时,播放当前时间轴。
on (rollOut) {_root.play();}10、Goto:跳到一个指定的帧(Frame)Scene: 指定SceneFrame:Number,Label,Expression,Next Frame,Previous Frame可以选择Frame 的编号,标号,通过表达式,下一帧,前一帧Expression: 定义表达式Control:Go to and Play,Go to and Stop通过选择这个项目来确定到达指定的帧以后是继续播放还是停止例子:Go to and Play (1)跳到第一帧播放Go to Next Frame跳到下一帧播放Go to and Stop ("intro")跳到标号为intro 的帧播11、Play:播放Stop:停止Toggle High Quality:切换画面的细节程度Stop All Sounds:停止所有声音Get URL:打开指定的网址URL: 网址Windows:_self,_blank,_parent,_top打开网址时使用的目标Variables on’t Send,Send use GET,Send use POST变量的传递方式例子:Get URL ("next.asp", window="_blank", vars=POST)在新窗口中打开next.asp,并且传递参数12、FScommand:调用命令Command: 命令Arguments: 参数For standalone player:fullscreen,allowscale,showmenu,exec,quit 播放器使用的固定命令和参数例子:FS Command ("fullscreen", "true")设置全屏幕播放13、Load/Unload Movie:调入/释放外部的影片Action:Load movie into location,Unload movie fromlocation,Load variables into location: 可以选择是否调入新影片,释放已经调入的影片,调入变量URL:影片的网址Location:Level,Target: 调入的层,或者是某一目标对象的位置Variables on’t Se nd,Send use GET,Send use POST: 变量的传递方式例子:Load Movie ("test.swf", 1): 把test.swf 调入到第一层Load Movie ("test.swf", "loadit", vars=GET): 把test.swf 调入到loadit 目标对象的位置Unload Movie ("loadit"): 把loadit 目标对象处的影片释放Load Variables ("makeit.asp", 2, vars=GET): 调用makeit.asp 并接收返回的变量14、Tell Target:指定目标对象Target: 目标对象例子:Begin Tell Target ("obj")指定目标对象objEnd Tell Target15、If Frame is Loaded:判断某帧是否调入Scene: 指定场景Frame:Number,Label,Expression: 指定帧,标号或者表达式Expression: 表达式例子:If Frame Is Loaded (Scene 1, "end")End Frame Loaded:判断场景一的标号为end 的帧是否调入16、On MouseEvent鼠标时间响应Event ress,Release,Release Outside,Roll Over,Roll Out,Drag Over,Drag Out,Key Press各种事件:按下,放开,在外面放开,焦点移入,移出,拖过,拖出,按键按下例子:On (Press) 鼠标按下的时候End OnOn (Key: s)键盘上s 按下的时候End On17、If判断条件是否成立Condition: 条件Add Else/Else If clause: 加入Else 再次判断例子:If (a=10)如果a=10 那么……End IfIf (a=10)如果a=10 那么……不然……ElseEnd If18、Loop循环Condition:条件例子:Loop While (a=10)如果a=10 那么循环End Loop19、Call调用函数帧或对象Frame:函数帧例子:Call ("make")调用make 帧程序20、Set Property设置属性Set:Y Positon,X Position,Y Scale,XScale,Alpha,Visibility,Rotation,Name,High quality,Show focus rectangle,Sound buffer time设置y 坐标,x坐标,y 放大倍数,x 放大倍数,透明度,可视否,旋转角度,名称,精细度,焦点矩形框是否显示,声音缓冲时间(默认5秒)Target:目标对象value:值例子:Set Property ("aoe", X Position) = "12"设置目标对象aoe 的x 坐标为12Set Property (Show focus rectangle) = "0"取消焦点框21、Set Variable设置变量Variable:变量value:值例子:Set Variable: "test" = 10设置test=1022、Duplicate/Remove Movie Clip复制对象Action uplicate movie clip,Remove duplicate movie clip可选择是复制还是删除Target:目标对象New name:新目标对象的名字Depth:深度例子:Duplicate Movie Clip ("aoe", "aoe2", 1)复制aoe 一个新的动画,名字叫aoe2Remove Movie Clip ("aoe2")删除目标对象aoe223、Drag Movie Clip 拖动影片片段Start drag operation:开始拖动Target:目标对象Constrain to rectangle:Left,Top,Right,Bottom鼠标的位置,左上右下Lock mouse to center:鼠标放置在中心Stop drag operation停止拖动例子:Start Drag ("aoe", L=2, T=3, R=4, B=5)拖动目标对象aoe,位置在L=2, T=3, R=4, B=5Start Drag ("aoe", lockcenter)拖动目标对象aoe,位置在中心Stop Drag停止拖动24、Trace 跟踪Message:信息例子:Trace ("aoe")显示aoeTrace (aoe)显示aoe 的值25、Comment注释Comment:注释例子:Comment ("计算")注释:计算box_btn.onPress=function(){trace("ok");};按钮实例名称.事件处理方法=function(){//处理程序};例如:n=1box_btn.onRelease=function(){n=n+1trace("n="+n);}当按钮被点一下的时候,Output窗口会输出:"n=2"onClipEvent(load){stop();}以上是影片剪辑的事件处理函数。
Flash2.0脚本代码
Flash as2.0代码大全与Flash制作技巧外部调用swfon (release) {loadMovieNum("service.swf", 1);}外部调用数据loadVariablesNum("about.txt", 0);eCodepage = true;//中文音乐加入mySound = new Sound();mySound.attachSound("1");mySound.start();关闭指定音乐mySound.stop("1");外部调用音乐mySound=new Sound();mySound.loadSound("music.mp3",true);mySound.start(0,100)关闭音乐mySound.stop();链接场景:on (release) {gotoAndStop("猫的历史",1);}外部调用on (release) {loadmovienum("a.swf",1)}清空文本框_root.text=""On(Release)Set Variable:"input" = ""Set Variable:"output" = ""End On轻松实现Flash的全屏播放许多人都看过这样的效果:把光盘放入光驱后,光盘自动运行,接着便是一段Flash制作的开场动画,动画是全屏播放的,且右键点击无效,动画播放结束后,出现“关闭”按钮,单击该按钮后,全屏动画关闭。
其实上面提到的全屏播放以及取消右键菜单等效果都是靠Fscommand指令在发挥作用。
Fscommand指令主要是用来控制Flash影片播放器的,但也可以用来打开其它的应用程序。
AS2.0 flash编程
AS2.0 flash编程——ActionScript脚本第1章揭开ActionScript的神秘面纱ActionScript是Flash内置的编程语言,用它为动画编程,可以实现各种动画特效、对影片的良好控制、强大的人机交互以及与网络服务器的交互功能。
ActionScript是一门吸收了C++、Java以及JavaScript等编程语言部分特点的新的语言。
ActionScrip使用英文单词和元件提供了一种为Flash影片设置指令的方法。
它的存在确保了Flash影片较之普通的按照线性模式播放的动画具备强大得多的人机交互能力。
可以为时间轴中的关键帧、按钮和影片剪辑添加ActionScript。
选中这些关键帧、按钮和影片剪辑,打开其动作面板,你就可以看到它们都添加了哪些脚本。
1.1 Flash中的程序交给计算机执行的指令集称为程序。
程序的另一个名称叫做脚本。
从现在开始,我们将这些指令集统称为脚本。
脚本都必须有它的运行环境,就ActionScript来说,它的运行环境就是Flash影片。
ActionScript可以指挥Flash影片该做什么。
在某些情况下ActionScript还可以指挥其他的东西,如用户的操作系统、浏览器等。
但是ActionScript最主要的用途还在于控制Flash影片内部的东西。
短的脚本可以只有一行,长的脚本可以长达几千行。
它们可以作用于Flash影片的一个部分,也可以贯穿影片始终。
有人把使用了脚本的整个Flash影片看作一个程序,也有人把影片中单独出现的脚本看作一个程序。
这两种看法都正确因为一个单独的程序也可以被定义成若干小程序。
你可能对某些编程语言已经相当熟悉或者有所了解。
例如广大网页设计者所熟知的JavaScript,以及另一种相似的语言VBScript,它们能用来编辑动态网页。
HTML (Hypertext Markup Language 超文本置标语言)是另一种特殊的语言,浏览器将按照它所包括的指令正确地显示文本和图片。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Flash as2.0代码大全与Flash 制作技巧一、注释// 单行注释符/* */ 多行注释符/*开始,*/结束二、转义字符结果输出: HelloActionScript2.0实例:获得系统的事件2:var time = new Date();//创建Date 类的实例(Date 类的实例含系统时间的所有信息);注意var 中的字母v 是小写的。
var yy = time.getFullYear(); var mm = time.getMonth()+1;/*getMonth 比较特殊,它返回的值是0-11之间的数值, 所以必须要加上1*/ var dd = time.getDate();var xq = time.getDay(); //返回值为0,周末 var hh = time.getHours(); var min = time.getMinutes(); var ss = time.getSeconds();trace(yy+"年/\n"+mm+"月\n"+dd+"日\n"+"星期"+xq+"\n"+hh+"点\n"+min+"分\n"+ss+"秒") //换行符号 必须在引号里边才可以a=yy+"年"+mm+"月"+dd+"日"+"星期"+xq+hh+"点"+min+"分"+ss+"秒"三、声明方式及获取类型1.变量的声明方式,数字于字符串数字相加的规则数字声明的方式var a:String="12" ; //声明变量a 是一个字符串类型,为12var b:Number=34 ; //声明变量b 是一个数字字符串类型,为34 var c=a+b ; //声明变量c=a+btrace(c); //字符串类型和数字类型的变量相加时,数字型被转换成字符串再相加 输出结果:12342.实例:确定变量的数据类型 typeof var m="12"; trace(typeof(m)); m=2;trace(typeof(m))输出结果:string number3.改变数据的类型:数字Number()、字符串String()、逻辑是否Boolean 、对象数据类Object()、数组Array(); var a ="12" ; //声明变量a 是一个字符串类型,为12转义序列 \b\f\n\r\t\ "\'\\字符退格符(ASCII8)换页符(ASCII12)换行符(ASCII10)回车符(ASCII13)制表符(ASCII9)双引号单引号反斜杠var b=Number(a); //将a 转换为数字类型,赋予b trace(typeof(b)+":"+b)输出结果:number:12四、运算符1.点运算符:用来连接对象与嵌套再对象中的子对象,以及访问对象于对象的属性和方法。
例:this.stop //当前对象停止 2.数值运算符3.比较运算符例: x="100" y=100z1=(x==y)z2=(x===y) //z1 、z2对两个式子进行判断,如果是正确的,则为true ,如果为错误的则为false trace(z1+"/"+z2) 输出结果:true/false 4.字符串运算符 ++进行连接时,对于不是字符串类型的数值,先将其转换成字符串,再进行连接。
如果要将两个数字类型的数字进行连接,可以借助空字符串 例:m=12+34; n=""+12+34trace("m="+m+"\nn="+n) //输出结果 m=46 换行 n=1234 5.逻辑运算符例:if (age>60 || age<14 && !(h>1.1)) { //身高不超过1.1,年龄小于14大于60的免票 trace("免票"); //输出结果:免票} //先执行逻辑非!,然后是逻辑与&&,然后是逻辑或‖ 6.赋值运算符a=条件 ? 数值1:数值2 //如果条件满足,则为值2,如果不满足,则为数值1h=2;a=age>60||h<1.1?5:10trace("升高为"+h+"米"+"\n 价格为"+a+"元") //输出为:升高为2米价格为10元 7.数组访问运算符五、程序结构1.条件结构语法格式:①if(条件){执行操作}②if(条件) {执行操作1} else {执行操作2}③if(条件) {执行操作1} elseif(条件2){执行操作2} elseif(条件3){执行操作3} ---- else {执行操作}2.循环结构语法格式:For(语句1;语句2;语句3) {执行语句}语句1通常为赋值语句,语句2通常为表达式进行条件判断,在循环执行一次后执行语句3例:var sum = 0;for (var i = 1; i<=100; i++) {sum += i;}//初始值为1,在小于100的情况下,加到sum中,再i加1执行trace(sum); //输出结果为50503.循环结构while语法格式:while(条件) {执行语句}var sum=0;var i=1;while(i<=100){sum+=i ; i++}trace(sum)输出结果:50504.break和continue语句:break用于跳出整个循环; continue 用于跳出本轮循环质数的判断,判断100以下的数字是否是质数for (var i=3;i<=100;i+=2) { //检测100以下的数字for (var j=2;j<i;j++) {if (i%j==0) {break;} //如果相除无余数,则退出j的循环else if (j==i-1) { trace(i); }}}计算1-100之间所有不能被5整除的自然数的和var sum=0for (var i=1;i<=100;i+=1) {if (i%5==0) {continue;} //如果能被5整除,则跳出,开始下一个循环trace(i) //输出所有不能被整除的数字sum+=i} trace(sum) //显示和,输出为40005.分支结构swich:swich 用来实现分支结构实例1获取系统时间,然后根据系统时间中的星期数输出适当的字符串var today=new Date()switch(today.getDay()){case 0:trace("今天是星期天");break; //case 与后边的数值,必须有一个空格case 1:trace("今天是星期一");break;case 2:trace("今天是星期二");break;case 3:trace("今天是星期三");break;case 4:trace("今天是星期四");break;case 5:trace("今天是星期五");break;default:trace("今天是星期六");} //返回当天的星期实例2判断当前月份所含的天数var today=new Date();theYear=today.getFullYear();theMonth=today.getMonth()+1;switch (theMonth){case 1:case 3: case 5:case 7: case 8:case 10: case 12:ts=31;break; //如果是1、3、5、7、8、10、12月,ts则为31case 4:case 6: case 9:case 11:ts=30;break; //如果是4、6、9、11月,ts则为30case 2:if(theYear%4==0){ts=29;} else {ts=28;}}trace("本月有"+ts+"天")6.with语句语言格式with(对象){对象的属性和方法}例:with(mc){nextFrame();_x=100;_y=100;_ratation=90;}六、事件处理机制1、按钮事件on( )实例1:用on的键盘事件控制一个元件。
新建一个元件,命名为mc,用移动键控制。
(注:可以将按钮放在屏幕外)on (keyPress "<Left>") {if(mc._x>=1){mc._x-=5}else{mc._x=0}} //左移5像素on (keyPress "<Right>") {if(mc._x<=549-mc._width){mc._x+=5}else{mc._x=550-mc._width}} //右移5像素on (keyPress "<Up>") {if(mc._y>=1){mc._y-=5;mc._xscale=mc._yscale-=5}else{mc._y=0;mc._xscale=mc._yscale} } //上移5像素,横向和纵向缩小20%on (keyPress "<Down>") {if(mc._y<=400-mc._height){mc._y+=5;mc._xscale=mc._yscale+=5}else{mc._y=400-mc._height;mc._xscale=mc._yscale}}//下移5像素横向和纵向增加5%2.影片剪辑事件onClipEvent()onClipEvent (load) {_x=0;_y=0;var Vx=25;var Vy=25}onClipEvent (enterFrame) {_x+=Vx;_y+=Vy;if(_x>550-_width||_x<0){Vx*=-1;}if(_y>400-_height||_y<0){Vy*=-1}}实例2mouseMove事件实现鼠标跟随第一个对象onClipEvent (mouseMove) {_x+=(_root._xmouse-_x)/5; //_xmouse、_ymouse鼠标的横纵坐标_y+=(_root._ymouse-_y)/5; //_root._xmouse鼠标在主场景的横坐标 } //将当前对象坐标定义为鼠标的坐标第二个对象onClipEvent (mouseMove) {_x+=(_root.n1._x-_x)/5; //_xmouse、_ymouse鼠标的横纵坐标_y+=(_root.n1._y-_y)/5; //_root._xmouse鼠标在主场景的横坐标 } //距离为到n1的距离的1/5以此类推实例3带角度变化的鼠标跟随onClipEvent (load) {stop();}onClipEvent (mouseDown) {play();_x+=(_root._xmouse-_x)/3;_y+=(_root._ymouse-_y)/3;var xm=_root._xmouse-_x;var ym=_root._ymouse-_y;_rotation=Math.atan(ym/xm)*360/(2*Math.PI)//向鼠标的方向旋转if(xm>0){_xscale=-100;}else{_xscale=100;}//如果鼠标在右侧,则翻转180度,否则不翻转}onClipEvent (mouseUp) {stop();}实例3 getCode方法获得键盘代码onClipEvent (keyDown) {实例4 onMouseMove函数实现鼠标跟随(在帧上加语句)建立几个影片剪辑,命名为n1---n9n1.onEnterFrame=function(){this._x+=(_root._xmouse-this._x)/5;this._y+=(_root._ymouse-this._y)/5;}for(var i=2;i<=9;i++){_root["n"+i].onMouseMove=function(){this._x+=(_root["n"+(this._name.substring(1)-1)]._x-this._x)/5;this._y+=(_root["n"+(this._name.substring(1)-1)]._y-this._y)/5;}}实例5 onEnterFrame函数实现图片悬停将一系列图片建成影片剪辑,调入到舞台,水平分布for (var i in _root) { //遍历主时间轴中的所有对象_root[i].onEnterFrame = function() { //在本事件中令每个对象左移5像素this._x -= 5;if (this._x<=-170) { //当实例的x位置超过-200时this._x += 895; }} //使图片放到右端_root[i].onRollOver=function(){for(var j in _root) //in 和_root之间有个空格{delete _root[j].onEnterFrame;}}_root[i].onRollOut = function() { //在本事件中令每个对象左移5像素for (var j in _root) {_root[j].onEnterFrame = function() { //在本事件中令每个对象左移5像素this._x -= 5;if (this._x<=-170) { //当实例的x位置超过-200时this._x += 895; }}}}} //使图片放到右端实例:实行无限循环的方法P53实例:符合键控制图片的移动P59onEnterFrame=function(){if(Key.isDown(Key.CONTROL )) {if(Key.isDown (Key.LEFT )){pic._x-=20;}if(Key.isDown (Key.RIGHT )){pic._x+=20;} } }下边两段程序的不同在于:if(Key.isDown(Key.RIGHT )){pic._x+=20;onEnterFrame=function(){ //按一下RIGHT键,则移动一次if(Key.getCode()==Key.RIGHT ){pic._x+=20;} } //按一下RIGHT键,则一直移动实例:getAscii方法制作打字游戏P60var chars=new Array();for(var i=0;i<10;i++){chars[i]=i+48}for(var i=0;i<26;i++){chars[i+10]=i+65;chars[i+36]=i+97}function generate() //generate函数用于生成随机字符{ttt.text="";for(var i=0;i<400;i++){rnd=Math.floor (62*Math.random ());ttt.text+=String.fromCharCode(chars[rnd])}}anniu.onPress=generate; //将函数generate设为单击按钮的事件处理函数_root.onKeyDown =function(){if(String.fromCharCode(Key.getAscii())==ttt.text.substring(0,1)){ttt.text=ttt.text.substring(1);if(ttt.text==""){generate();}}};Key.addListener(_root)实例:替换鼠标指针P62 未完成在要替换的指针上写上代码:onClipEvent (mouseMove){_x=_root._xmouse ;_y=_root._ymouse;}在帧上写上代码Mouse.hide() //影藏鼠标指针实例:自定义鼠标右键七、影片剪辑1.onEnterFrame=function(){hh._rotation+=0.01;mm._rotation+=0.6;ss._rotation+=36}实例:通过_rotation属性制作鼠标旋转跟随gg._x=aq._xgg._y=qq._ygg.onEnterFrame=function(){i=_root._xmouse -this._x;j=_root._ymouse -this._y;if(i<0){this._rotation=Math.atan(j/i)*360/(2*Math.PI)}else{this._rotation=Math.atan(j/i)*360/(2*Math.PI)+180}}2.透明度和可见性实例:通过_alpha属性实现图片渐入渐出tt.stop()onMouseDown=function() //鼠标按下事件(换图){tt.onEnterFrame=function(){this._alpha-=5; //透明度递减if(this._alpha<=0){delete this.onEnterFrame; //如果透明度小于0,则退出此递减this.gotoAndStop(1+this._currentframe%this._totalframes);/*到下一帧:this._currentframe:播放头所在的当前帧/this._totalframes总帧数如果变为1+this._currentframe,则到最后一帧时,无法到第一帧,一直停在最后一帧此时可以再在后边帧上加一个空白帧:当播放到最后一帧时,this._currentframe%this._totalframes=0,于是跳回第一帧*/ this.onEnterFrame=function(){this._alpha+=5;//透明度为0时,跳入下一帧,透明度递增;透明度到100时,退出此变化if(this._alpha>=100){delete this.onEnterFrame;}}}}}实例:用3.用宽度和高度_width和_heigth属性控制影片剪辑的大小实例:_width和_heigth属性控制影片剪辑大小tt.stop()zhe.onMouseMove=function(){this._width=2*Math.abs(_root._xmouse-this._x);this._height=2*Math.abs(_root._ymouse-this._y);};onMouseDown=function(){tt.gotoAndStop(1+tt._currentframe%tt._totalframes);}注意此处于上边的不同1+tt._currentframe%tt._totalframes实例:_xscale和_yscale属性控制影片剪辑缩放tt.stop()xx=zhe._widthyy=zhe._heightzhe.onMouseMove=function(){this._xscale=100*(_root._xmouse -this._x)/(xx/2);this._yscale=100*(_root._ymouse -this._y)/(yy/2);}onMouseDown=function(){tt.gotoAndStop(1+tt._currentframe%tt._totalframes);}实例:通过_xscale和_yscale属性控制影片剪辑缩放tt.stop()onKeyDown=function(){switch(Key.getCode()){case Key.UP :tt._yscale+=10;breakcase Key.DOWN :tt._yscale-=10;break//如果用height也可以接近效果,但不能实现翻转case Key.LEFT :tt._xscale+=10; breakcase Key.RIGHT :tt._xscale-=10;break}}Key.addListener (_root);//为_root注册键盘监听器4.鼠标位置主场景的鼠标位置:_root._xmouse _root._ymouse影片剪辑鼠标位置:_root.tt_x _root.tt._y5.帧属性实例:鼠标移进开始播放P75for(var i in _root){_root[i].stop();_root[i].onRollOver=function(){this.onEnterFrame=function(){if(this._currentframe<this._totalframes){this.nextFrame();}else{//delete this.onEnterFrame; 能够播放一次this.gotoAndPlay(1);//能够循环播放}}}_root[i].onRollOut=function(){this.onEnterFrame=function(){if(this._currentframe>1){this.prevFrame();}else{delete this.onEnterFrame;}}}} for(var i in _root){_root[i].stop();_root[i].onRollOver=function(){this.onEnterFrame=function(){if(this._currentframe<this._totalframes){this.nextFrame();}else{delete this.onEnterFrame;}}}_root[i].onRollOut=function(){this.onEnterFrame=function(){if(this._currentframe>1){this.prevFrame();}else{delete this.onEnterFrame;}}}}实例:制作load动画P77导入一个mp3.放在第三帧上,在第二帧上放上一个按钮,名称为an ,第二帧程序:stop();an.onRelease=function(){play();}创建一个影片剪辑元件,名为loadd.实例:duplicateMovieClip动态复制影片剪辑P79var i=1;star._visible=false;onMouseDown=function(){star.duplicateMovieClip("star"+i,i)with(_root["star"+i]){_x=_root._xmouse ;_y=_root._ymouse ;}_root["star"+i].onEnterFrame=function(){this._rotation+=10;}i++;}实例:用attachMovie方法制作雪花飞舞P81for(var i=0;i<100;i++){_root.attachMovie("s",i,i);_root[i]._x=550*Math.random();_root[i]._y=400*Math.random();_root[i]._rotation=60*Math.random ();_root[i]._xscale=_root[i]._yscale=_root[i]._alpha=100*Math.random ();_root[i]._alpha=70+30*Math.random ();_root[i].onEnterFrame=function(){this._y+=this._xscale/22;this._y%=400;this._rotation+=3;}实例:跟随鼠标游动的鱼P82实例:打蜜蜂游戏P83实例:用createEmptyMovieClip方法创建影片剪辑856.动态实现遮蔽:语句:mymc.setMask(遮蔽物)mymc为用来被遮蔽的物体名称;遮蔽物位于遮蔽层取消:mymc.setMask(null)实例:用遮蔽实现橡皮擦特效_root.createEmptyMovieClip ("mask",0);//创建空影片剪辑实例来放置附加的园p.setMask(mask);onMouseMove=function(){var i=mask.getNextHighestDepth();mask.attachMovie("yuan",i,i);mask[i]._x=_root._xmouse ;mask[i]._y=_root._ymouse ;}实例:用碰撞测试实现粘附特效P95mc._visible=0;onEnterFrame=function(){for(var i=0;i<10;i++){depth=_root.getNextHighestDepth ();attachMovie("ball","b"+depth,depth);_root["b"+depth]._x=600*Math.random()-50;_root["b"+depth].v=5+10*Math.random();_root["b"+depth].onEnterFrame=function(){this._y+=this.v;this._x+=5*Math.random ();if(mc.hitTest(this._x,this._y,true)){ran=3*Math.random ();if(ran<1){delete this.onEnterFrame;}}if(this._y>400){this.removeMovieClip();}}}}实例:用loadMovie制作图片展示P86实例:鼠标跟随的下雪效果P89实例:用swapDepths方法实现立体旋转效果90实例:制作放大镜P92实例:用遮蔽是想橡皮擦特效P93_root.createEmptyMovieClip ("mask",0);//创建空影片剪辑实例来放置附加的园p.setMask(mask);onMouseMove=function(){var i=mask.getNextHighestDepth();mask.attachMovie("yuan",i,i);mask[i]._x=_root._xmouse ;mask[i]._y=_root._ymouse ;}实例:用碰撞测试实现粘附特效P95Stage.scaleMode="showAll"mc._alpha=0;onEnterFrame=function(){for(var i=0;i<10;i++){depth=_root.getNextHighestDepth ();attachMovie("ball","b"+depth,depth);_root["b"+depth]._x=600*Math.random()-50;_root["b"+depth].v=5+10*Math.random();_root["b"+depth].onEnterFrame=function(){this._y+=this.v;this._x+=5*Math.random ();if(mc.hitTest(this._x,this._y,true)){ran=3*Math.random ();if(ran<1){delete this.onEnterFrame;}}if(this._y>400){7.绘画方法MovieClip类的方法可以通过AS来动态绘制图形。