日期:2013-07-04  浏览次数:20734 次

晚期版本的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)

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" 。