如何从用户actionscript文件导入类

时间:2013-12-15 01:07:51

标签: actionscript-3

我只想创建一个包含两个Numbers和一个Bitmap的类。你不能在时间轴脚本中有嵌套类,所以我想我会创建.as文件,即“node.as”。但我不能为我的生活弄清楚如何将此类导入时间轴脚本,以便我可以在我的时间轴脚本中使用该类。

请帮忙!

1 个答案:

答案 0 :(得分:0)

您应该能够创建一个包来完成此任务。基本格式为:

// folder specifies the relative folder of the package
package myfolder {

    // whatever other classes you need
    import flash.display.*;
    import flash.events.*;

    // base this on whatever class you need (in this case MovieClip)
    public class myclass extends MovieClip {

        private var myvariable: String;

        // constructor
        public function myclass() {
        }

        // functions only for use within the class
        private function myprivatefunction() {
        }

        // functions for use by the rest of the world
        public function mypublicfunction() {
        }
   }
}

当您创建Class的新实例时,将调用构造函数 - 这是您初始化的地方。然后,在您的时间轴中,添加如下内容:

import myclass;

var myclassinstance = new myclass();

myclassinstance.mypublicfunction();  // call a function in the class

有关详细信息,请参阅adobe's help

<小时/> 所以我尝试了这个:

package {
    import flash.display.*;

    public class Node {
        public var fX:Number;
        public var fY:Number;
        public var bmp:Bitmap;

        public function Node() { }
    }
}

并将其放在名为Node.as的文件中(注意我需要添加flash.display导入,并在文件名中添加大写“N”)。在同一目录中的FLA文件中,我将其添加到第一个框架脚本:

import Node;

var node = new Node();
trace("node="+node);

它编译并运行没有错误。还有其他事情要发生吗?您使用的是什么版本的Flash和ActionScript?