如何在ActionScript 3.0中将类中的变量引用到场景中

时间:2016-06-02 05:51:51

标签: actionscript-3 flash-cs3

我正在flash as3中创建一个平台游戏,我想将得分从场景1传递到下一个。但是,我意识到最好的方法是将分数存储在一个类中,但是我在内部引用变量时遇到了麻烦。请帮忙。这是当前类中的代码

package file_as{  
public class CS{  
    public function CS(){
        public var Score:Number = 0;
        }
    }
}

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

CS.Score 

但那不起作用,所以我迷失了。

1 个答案:

答案 0 :(得分:0)

要通过CS.Score访问它,您需要将该属性设为 static

静态变量/方法属于类本身(在本例中为CS),如果不是静态的,它们属于该类的实例(例如var csInstance:CS = new CS(); csInstance.Score = 6;

以下是如何使其静止:

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

除此之外,您当前的类代码应该抛出错误,因为您无法在函数中包含public/private个关键字。此外,由于您在函数内部定义了var(在您的情况下是构造函数),因此它只能在该函数中使用。请注意,在上面的示例中,var定义是在类级别。

所有这些都说,我相信如果你在主时间轴上定义了score var,它应该可以在不同的场景中使用。