as 3.0是在flash 以及as 2.0的基础上升级出来了,
首先要说明的是: AS3.0与前几个版本有着根本性的转变。
如果你刚刚接触AS3.0时不知道你会不会像我一样,在书写代码时会措手不及,不知从哪里下手。因为在AS3.0里不能按照以前的AS1.0、AS2.0里的格式书写了。
代码书写在外部.as文件里(当然也可以写在时间轴上,大家都如此,我就只有也如此了!)
在AS3.0前代码大多数情况下是写在时间轴上的,现在的AS3.0教程大部分内容都是写在外部.as文件里的,迎合美工与代码分离原则。因此,这就要求我代码书写习惯也发生改变。
如何写?遵循什么格式?
1、两个文件,一个是firstSample.as,另一个是firstSample.fla,它们位于同一目录下。
①firstSample.as中:
package { //声明包,它是关键字,"必须的!"
import flash.display.Sprite; //AS3.0中编写的对象如果要显示出来的话,导入显示对象类,"必须的!"
public class firstSample extends Sprite {//firstSample类文件归属显示对象Sprite,加入其列表中,意思是可显示出来
public function firstSample() {//构造函数,"必须的!",
trace("嘿嘿,第一次");
}
}
}//说明:蓝色字体部分是相同的,"必须的!"
②firstSample.fla中:下方的属性面板中找到文档类输入框,在其中输入:firstSample
③在firstSample.fla中按"Ctrl"+"Enter"组合键,输出面板中输出了:嘿嘿,第一次
2、如果我要"嘿嘿,第一次"在firstSample.fla中的文本中显示出来,怎么办?
修改firstSample.as:
package {
import flash.display.Sprite;
import flash.text.TextField;//导入文本类,支持文本操作
public class firstSampleextends Sprite {
public function firstSample() {
_txt.text="嘿嘿,第一次";//_txt是firstSample.fla中场景上的一个实例名为_txt的动态文本
}
}
}
再在firstSample.fla中按"Ctrl"+"Enter"组合键,firstSample.swf上是不是有了:"嘿嘿,第一次" 这几个字了。
以上.as与.fla文件都在同级目录下,为统一调用,以后的代码全放在com/sxl001/里了:
所以包需要表明路径
如as创建文本firstText.as就放在 com/sxl001/中:
①firstTex.as:
package com.sxl001{
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
public class firstText extends Sprite {
public function firstText() {
var _txt:TextField=new TextField();
_txt.autoSize =TextFieldAutoSize.LEFT;//自动调整文本宽度,文本才能显示完整
_txt.text="这是AS创建的文本";
_txt.x=200;//文本位置调整,坐标属性不用在x前面加下_线了,这是AS3.0中的一大改变
_txt.y=150;
addChild(_txt);//_txt添加到显示列表中
}
}
}
②firstText.fla中的属性面板中文档类输入框中输入:com.sxl001.firstText
③在firstText.fla中按"Ctrl"+"Enter"组合键,firstText.swf是不是显示:这是AS创建的文本了.