
Flash,AS3.0教程-代码的位置.docx
17页Flash,AS3.0教程:代码的位置 篇一:Flash AS3.0教程:代码的位置 Flash AS3.0教程:代码的位置 第一*课.件>网f 早期版本的ActionScript代码可以写在帧、按钮、影片剪辑、as文件等位置,而Flash AS3.0代码的位置发生了重大的改变,只能写在帧及as文件中 虽然Flash AS3.0支持把代码写在时间轴中,但在实际应用中,如果把很多的代码放在时间轴中,会导致代码很难管理或者说,用类来组织大量的代码更为合适,因为类代码都是放在as文件中的 除了把代码放在时间轴上,还可以把代码放在外部文件中,比如,放在服务器的txt文件中,然后把这些外部数据加载到fla文件里 外部文件代码 以往都是在时间轴上写代码,编写的程序一般只有多层一帧的特点,其中最顶层专门来放置代码在这种模式中,假如程序比较大,需要几百行代码来实现,甚至更多,代码全部放在同一个地方,光是查看就很不方便,需要打开Flash软件,然后找到帧及动作面板,最后进行翻页查看代码 实际上,对于一个代码较多的程序,可以把代码分成几个大的功能模块,每个模块代码放在一个as文件中,这样不管是查看还是进行其他的管理都较方便。
除了使用Flash IDE ,可用记事本来编写代码,这样速度更快,写完代码后把扩展名改为as可以达到同样的效果,如果不是很熟悉编程,还是使用Flash自带的编辑器编写为好,可以使用代码提示 下面通过一个例子来了解如何编写as文件中的代码,如何把as文件中的代码导入到时间轴中 例:(代码与美工的分离) 1、打开Flash,选择【新建】命令,在弹出的【新建文档】对话框中选 ActionScript 文件,单击确定按钮,新建一个as文件,保存名为“shift.as” 2、在as文件中输入代码,代码的编写方法与在时间轴上是一样的: this.addEventListener(Event.ENTER_FRAME , onEnterframe) var shift : Number = 0 var startX = 200 var startY = 200 var r = 60 graphics.lineStyle(0) graphics.moveTo(startX + r , startY) 1 function onEnterframe(evt: Event) { graphics.lineTo(startX + r * Math.cos(shift),startY + r * Math.sin(shift)) ball.x = startX + r * Math.cos(shift) ball.y = startY + r * Math.sin(shift) shift += 15 } 3、新建一个Flash文件,保存名为“Sample”,保存在与“shift.as”,文件相同的目录中, 4、按Ctrl+F8 创建一个影片剪辑元件,选椭圆工具,笔触无,填充色红色,画一个小球。
5、返回场景1,把库中的小球拖到舞台上,在属性面板实例名称中,输入ball 6、单击图层1,的第一帧,打开动作面板,输入代码: include "shift.as" 提示:导入命令在AS3.0 中是 include,而在AS3.0 以前的版本是 #include 7、按Ctrl+Enter组合键测试影片 导入as文件中的代码用 include 命令,如果as文件与fla文件不在同一目录,则应带上目录名例如, 如果as 文件在fla 文件的上一级目录,可用“. . /”引用上一级目录,代码应为:include ". . /shift.as",如果 as文件在fla文件的子一级目录如test中,代码应为: include "test/shift.as" 2 篇二:FLASH_as3.0常用代码 FLASH as3.0常用代码 1.按钮事件(新版) 步骤: 实现第一帧暂停:右击第一帧,点动作,写代码 stop(); 实现点按钮开始:放一个按钮(可以在窗口菜单->公用库->按钮里找一个)在第一帧的舞台上,属性面板 里给按钮取名:实例名称 bt1 ,右击第一帧,点动作,写代码: bt1.addEventListener(MouseEvent.CLICK ,f1); function f1(evt:MouseEvent){ gotoAndPlay(2); } ////////////////////////// 补充:as2(老版)中的按钮事件 实现第一帧暂停:右击第一帧,点动作,写代码 stop(); 实现点按钮开始:放一个按钮(可以在窗口菜单->公用库->按钮里找一个)在第一帧的舞台上,右击 按钮,点动作, 写代码: on (release) {gotoAndPlay(2);} ////////////////////////// 2.按钮超链接 linkButton.addEventListener(MouseEvent.CLICK, gotoAdobeSite); function gotoAdobeSite(event:MouseEvent):void { var adobeURL:URLRequest = new URLRequest(""); navigateToURL(adobeURL); } 3.随机数Math.random () 输出时间 var time1:Date=new Date();t1.text=time1.toLocaleTimeString(); 4. 画线1 graphics.lineStyle(3,0xff0000,0.3); graphics.moveTo(300,100); graphics.lineTo(200,300); 画线2 graphics.lineStyle(1,0xff0000,1); for(var i:int=0;i {graphics.lineTo(Math.random ()*600,Math.random ()*400);} 5. 画三角形 var m1:MovieClip = new(MovieClip); //声明一个新的mc类bt1,并用new来构造它 m1.graphics.lineStyle(2, 0x990000, .75);//使用bt1的graphics属性设置线条粗细,颜色,透明度 m1.graphics.beginFill(0x00FF00);//以下的代码是用graphics画三角形。
m1.graphics.moveTo(100,200); m1.graphics.lineTo(200,100); m1.graphics.lineTo(0,100); m1.graphics.lineTo(100,200); this.addChild(m1); 6.影片剪辑属性设置 aa.x = aa.x+20; aa.y = aa.y+20; aa.rotation=aa.rotation+10; aa.scaleX=aa.scaleX*1.1; aa.scaleY=aa.scaleY*1.1 aa.alpha=0.5; 7.复制影片剪辑 //影片剪辑_属性_高级_类名:snow var mc:MovieClip = new snow(); addChild(mc); mc.x=300*Math.random (); mc.y=200*Math.random (); 8.变量定义,赋值 var n1:Number = 9; n1=n1+2; var s1:String = n1.toString(); 9.输入文本 //密码框,按钮,输出框 stop(); bt1.addEventListener(MouseEvent.CLICK ,f1); function f1(evt:MouseEvent){ var s1:String; s1="2"; if(String(a.text)==s1) {b.text="right";} else {b.text="wrong";} } 10.数学运算 function f1(evt:MouseEvent){ var str:String =String( aa.text); var n:Number=10; n=Number(str)+1; bb.text= String(n); } 11.不同的帧传递文本 //第一帧 stop(); var s1:String; s1="abc"; bt1.addEventListener(MouseEvent.CLICK ,f1); function f1(evt:MouseEvent){ s1=this.a.text; gotoAndPlay(2); } //第二帧 this.b.text=s1; stop(); 12.数组使用 var s:Array = new Array(4); var i; s[0]=8; s[1]=4; s[2]=7; s[3]=9; a.text=String(s[0]* s[1]); 13.组件 //单选按钮r1,文本框t1,按钮bt1 bt1.addEventListener(MouseEvent.CLICK ,f1); function f1(evt:MouseEvent){ if(r1.selected==true) {t1.text="right";} else { t1.text="fasle"; } } 14下雨: 新键一个影片剪辑。
在里面作出来一滴雨落下得效果然后设置元件属性-链接类 为 snow在第2,3 帧上面插入关键帧在第一帧动作里面写上 var i; i=1; 在第2帧上面写上 var mc:MovieClip = new snow(); if(i { mc.x=550*Math.random (); mc.y=450*Math.random (); mc.alpha=Math.random ()*1; addChild(mc); i=i+1; } 第3。
