【问题标题】:use actionscript file in flex library在 flex 库中使用 actionscript 文件
【发布时间】:2011-09-06 02:17:37
【问题描述】:


我想制作自己的 flex 库,并在这个库中使用自己的 actionscript 文件,我将在这个库中的更多组件中使用它。这个文件内容例如只有代码

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

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

感谢帮助

【问题讨论】:

    标签: apache-flex actionscript-3 mxml


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      另一种方法是创建一个“助手”类,或所谓的“单例”类。 - 一个只有 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 );
      

      Singleton.directlyVisiable();
      

      取决于您的需求。

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-09-14
          • 2010-10-21
          • 2010-09-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多