如何将变量从 class 引用到 ActionScript 3.0 中的场景

How to reference a variable from a class to a scene in ActionScript 3.0

我正在 flash as3 中创建一个平台游戏,我想将我的得分的 var Score 从场景 1 传递到下一个场景。但是,我意识到最好的方法是将分数存储在 class 中,但我在引用场景中的变量时遇到了问题。请帮忙。这是 class

当前的代码
package file_as{  
public class CS{  
    public function CS(){
        public var Score:Number = 0;
        }
    }
}

我试图在包含我的代码的框架中引用场景中的分数

CS.Score 

但这没有用,所以我迷路了。

要通过 CS.Score 访问它,您需要使 属性 static.

静态 vars/methods 属于 class 本身(在本例中为 CS),如果不是静态的,则它们属于 class 的实例(例如 var csInstance:CS = new CS(); csInstance.Score = 6;

以下是如何使其静态化:

package file_as{ 
    public class CS{
        public static var Score:Number = 0;  
    }
}

顺便说一句,您当前的 class 代码应该会引发错误,因为函数中不能包含 public/private 关键字。此外,由于您在函数(在您的情况下为构造函数)中定义了 var,因此它只能在该函数中使用。请注意,在我上面的示例中,var 定义是如何处于 class 级别的。

综上所述,我相信如果您在主时间轴上定义了一个 score 变量,它应该可以在不同的场景中使用。