在flex库中使用actionscript文件

时间:2011-06-01 08:23:56

标签: flex actionscript-3 mxml


我想创建自己的flex库,并在这个库中使用自己的actionscript文件,我将在此库中的更多组件中使用..这个文件内容,例如只有代码

public function computeSum(a:Number, b:Number):Number {
    return a + b;
}

但是当我可以创建时,我点击文件 - 新动作文件(文件名 - 确定)就在问题视图中错误:在源路径中找到的文件必须具有外部可见的定义。如果文件中的定义是外部可见的,请将定义放在包中

感谢您的帮助

3 个答案:

答案 0 :(得分:1)

首先,您需要创建一个类(和一个包)并将该方法放入其中(不仅仅是放入一个空的AS文件中),如果您希望能够在不创建实例的情况下访问该方法,则需要该类创建此方法static

答案 1 :(得分:1)

您应该将其封装在类上,以便将其与import指令一起使用,否则您可以将其与include一起使用

另一种方法是创建一个“helper”类,或者所谓的“singleton”类。 - 一个只有1个实例的类,静态创建。 在这个类上,你可以公开你需要的库函数,并在任何地方使用它们。

package
{
    public class Singleton
    {
        private static var singleton : Singleton

        public static function getInstance() : Singleton
        {
            if ( singleton == null )
                singleton = new Singleton();
        return singleton;
        }

        public function Singleton()
        {
        }


            public function visibleTroughtTheSingletonfunction( arg1 : int ... ) : void
            {
            }

            public static function directlyVisiable() : void
            {
            }
      }
}

访问单身人士会是这样的:

Singleton.getInstance.visibleTroughtTheSingletonfunction( 1 );

OR

Singleton.directlyVisiable();

取决于您的需求。

答案 2 :(得分:1)

如果您不需要在运行时更改类文件,则将动作类编译为swc库。

创建一个Action脚本项目,并在找到.swc库文件的bin文件夹中编译它。将.swc包含在您的项目中。