AS3教程-在哪里写ActionScript
2008年12月30日 星期二 17:48
|
问题
当你有了ActionScript工程后,接着就需要知道任何输入代码。
解决方法
在类结构中或方法体中添加ActionScript 代码
讨论
在以前的ActionScript 1.0 和2.0中, 有多种途径添加代码:在时间线上,按钮上或电影剪辑
上,在电影剪辑的时间线上通过#include命令引入外部的as文件或class文件。但是ActionScript
3.0 是完全基于类的,所以所有的代码都必须放置在类文件中。
当你创建一个新的ActionScript 工程后,主类文件被自动创建,并且在代码视图中代开了,
刚开始的代码大概是这样的:
package …{
import flash.display.Sprite;
public class ExampleApplication extends Sprite
…{
public function ExampleApplication( )
…{
}
}
}
可能你很熟悉ActionScript 2.0中的类, 但是3.0发生了很多变化,这些我们将在第二章讨论,
在这里先学完基础概念先。
首先注意到代码顶层有个关键字package
,Packages(包) 是用来组织一群相关联的类文
件的。在ActionScript 2.0, 包是用来判断类文件的路径。在ActionScript 3.0 中必须指定包,例
如,我们有个utility类包,要这样申明:
package
com.as3cb.utils
{}
如果你不指明包名,那么该类就输入最顶层的默认包。
接下来,加入import
语句,引入一个类就相当于在当前的代码文件中创建了使用该类的
快捷方式,这样我们就不需要输入全路径来使用它了。例如,你可以使用下面的import 语句:
import
com.as3cb.utils.StringUtils;
这样我们就可以直接引用StringUtils 这个类了。从flash.display 引入Sprite 类是因为默
认的类文件继承了Sprite 类。
接下来就看到我们的主类ExampleApplication,注意到在class关键字前有个关键字public
,表明该类是共有的。最后有个公共方法,方法名和主类一样,这种方法称为构造器,当一个
类实例被创建时,其构造器会被自动执行,在这里,当swf文件被Flash 播放器载入时构造器就
会被执行。In this case, it is executed as soon as the .swf is loaded into the Flash player. So
where do you put your code to get it to execute? Generally, you start out by putting some
code in the constructor method. Here’s a very simple example that just draws a bunch of
random lines to the screen:
package …{
import flash.display.Sprite;
public class ExampleApplication extends Sprite …{
public function ExampleApplication( ) …{
graphics.lineStyle(1, 0, 1);
for(var i:int=0;i<100;i++) …{
graphics.lineTo(Math.random( ) * 400, Math.random( ) * 400);
}
}
}
}
保存然后运行程序,浏览器会打开一个html文件,显示一个swf里画了100条随即直线。正
如你所看到的,当swf被播放器载入后构造器就会被执行。
在这里联系中,我们把代码直接写在了构造器中,但时最好的办法是在构造器中引用一个
方法,在这个方法中添加代码.
对于新手来说,现在你已经学会了如何添加代码了。
|