如何编写AS程序——初学者第一课

时间:2022-06-20 20:09:58

AS脚本文件是文本文件,你可以使用任意的文本编辑工具编辑它并将它保存在任意位置。要用AS来控制Flash元素,那么就得将AS代码按照一定的规则跟Flash关联起来,一般而言,将AS代码跟Flash关联起来的方法有四种。第一,将AS代码写Flash的帧上,这是最直观,最容易上手的方式。但是,除了实验之外,我们不建议你这么做;第二,将AS代码写到外部脚本文件中,然后用#include关键字插入到帧上。这种方法比第一种方法要进步一些,可以将设计和代码分开保存到不同地方。然而,本质上它跟第一种方法没有太大区别,这也是专业AS程序设计人员不太喜欢的方式;第三,将外部AS类脚本关联到Flash元件上,这种方法适合那些需要在Flash创造环境中绘制复杂图像的情况;第四,将AS代码书写到外部类脚本中,然后用文档类讲他们引入到Flash中。这是AS3的推荐代码书写方式,如果你有心成为一名位于牛A程序员和牛C程序员之间的AS程序员,那么请多多实践这种方式。下面的内容是这后三种脚本引入方式的例子。

  • 使用#include关键字导入:
    (1) 创建一个HelloWorld.txt,用记事本编辑打开它,在上面书写代码: trace("Hello World!");
    (2) 将刚才创建的HelloWorld.txt的扩展名改成.as
    (3) 启动Flash,新建一个Flash 文件(ActionScript3.0),并将其与HelloWorld.as保存到相同目录
    (4) 选中Flash文件的第一帧,然后按下F9,打开脚本窗口,在里面输入:include "HelloWorld.as";
    (5) 同时按下Ctrl+Enter键,测试你的影片

【注意】

1) 如果as脚本文件跟Flash 文件(.fla文件)不在同一路径下,那么必须为include语句指定绝对路径。例如,上例中的HelloWorld.as的存放路径为F:/AS/AS3/lib/HelloWorld.as
那么,那么include语句就应该写成 include "F://AS//AS3//lib//HelloWorld.as"; 这时要特别注意,必须为文件路径中的每一个斜杠("/")前再添加一个"/",这是因为在编程语言中,斜杠要用转义字符来表示,两个斜杠("//")才能表示一个真实的"/"
2) 如果是AS2环境,include关键字前面必须加上符号"#",且语句最后一定不能有分号。

  • 将外部类文件关联到Flash元件上:
    (1) 新建一个ActionScript文件,保存为HelloWorld.as;
    (2) 将下面的代码复制粘贴到HelloWorld.as文件中
    package
    {
        import flash.display.MovieClip;
     
        public class HelloWorld extends MovieClip
        {
             public function HelloWorld()
             {
                 trace("HelloWorld");
             }
     
              public function say(arg:String)
              {
                   trace(arg);
              }
         }
    }


(3) 启动Flash,新建一个Flash 文件(ActionScript3.0),并将其与HelloWorld.as保存到相同目录
(4) 在Flash环境中按下Ctrl+F8,新建一个元件,元件类型为影片剪辑
(5) 选中库中刚刚新建的那个影片剪辑,右键点击,在弹出菜单上选择"属性"
(6) 元件属性设置面板中勾选"链接-为ActionScript导出"
(7) 在"类"文本框中输入"HelloWorld"(注意,不要双引号啊)
(8) 将设置好属性的元件拖到舞台上,创建一个实例
(9) 同时按下Ctrl+Enter键,测试你的影片

【注意】
1) 外部AS脚本文件的保存名字必须跟类名相同
2) 如果外部脚本在包中,必须以如下格式填写ActionScript导出类名:packageName.className
2) 如果要在帧上调用上例中元件所关联的类中的"say"方法,只需要选中舞台上的元件实例,在实例属性面板中为它起名为"t_mc",然后在主时间轴的帧上添加:t_mc.say("Welcome to home for as");

  • 将外部AS类设置为文档类
    (1) 新建一个ActionScript文件,保存为HelloWorld.as;
    (2) 将下面的代码复制粘贴到HelloWorld.as文件中
    package
    {
    import flash.display.Sprite;

    public class HelloWorld extends Sprite
    {
    public function HelloWorld()
    {
    trace("HelloWorld");
    }

    public function say(arg:String)
    {
    trace(arg);
    }
    }
    }


(3) 启动Flash,新建一个Flash 文件(ActionScript3.0),并将其与HelloWorld.as保存到相同目录
(4) 在舞台的空白处单击鼠标,然后在“属性面板->文档类”文本框里填入HelloWorld
(5) 同时按下Ctrl+Enter键,测试你的影片
(6) 要调用HelloWorld类中的say方法,只需要将函数调用语句添加到它自己的构造函数中就可以了

【注意】
1) 如果外部脚本在包中,必须以如下格式填写文档类名:packageName.className

2) 文档类引入脚本的方式只适用于Flash CS3以上版本的IDE环境