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))
1 / 15
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 \
提示:导入命令在AS3.0 中是 include,而在AS3.0 以前的版本是 #include。 7、按Ctrl+Enter组合键测试影片。
导入as文件中的代码用 include 命令,如果as文件与fla文件不在同一目录,则应带上目录名。例如, 如果as 文件在fla 文件的上一级目录,可用“. . /”引用上一级目录,代码应为:include \,如果
as文件在fla文件的子一级目录如test中,代码应为: include \。 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 / 15
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);
3 / 15
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=\
if(String(a.text)==s1) {b.text=\ else
{b.text=\ }
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=\
bt1.addEventListener(MouseEvent.CLICK ,f1); function f1(evt:MouseEvent){ s1=this.a.text; gotoAndPlay(2); }
//第二帧
this.b.text=s1; stop();
4 / 15
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=\ else
{ t1.text=\ }
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贞上面写上 gotoAndPlay(2);
15.声音控制
//声音_属性__类名:cc var song:SoundChannel; var mysound:Sound;
5 / 15