在动作脚本中声明全局变量?

问题描述:

我想在一个动作脚本文件中创建一个变量(可能的全局变量),并希望在项目中的所有其他动作脚本文件中使用相同的变量。如何创建这样的变量以及如何在所有.as文件中使用相同的变量?在动作脚本中声明全局变量?

一个简单的方法是定义一个类中的static变量(创建一个新的类或使用现有的类之一):

// in MyConfig.as 
class MyConfig { 

    static var myVariable:String = "Hi"; 

} 

// You can access/set the value from any class using MyConfig.myVariable 
trace(MyConfig.myVariable); // prints Hi 

MyConfig.myVariable = "Hello"; 
trace(MyConfig.myVariable); // prints Hello 
+0

但它表示所使用的类之外​​的属性。 – user1554472 2012-07-27 11:31:48

+0

您是定义了一个新的类还是将静态变量添加到您的某个现有类中?尝试在“static”关键字之前添加“public”关键字(它不应该是必需的,因为如果我没有记错的话,成员在AS2中是默认公开的)。 – Strille 2012-07-27 16:03:40

创建一个公共类(让我们假设GlobalVariables.as) 无需添加其实例。 现在将所有要在多个类中使用的变量声明为STATIC。 (你也可以声明和在类中创建类的实例,以避免类的多个实例) 你也可以添加常用的方法为该类

所以每当你要访问GlobalVariables类 你需要声明的变量访问使用参考例如GlobalVariables.variableName

示例代码:

package classes{  
    public class GlobalVariables{ 
     public static var strURL:String; 
     public static function setExternalLinks(){   
      strURL = "http://demourl.asmx/"; 
     } 
    } 
}