我正在flash as3中创建一个平台游戏,我想将得分从场景1传递到下一个。但是,我意识到最好的方法是将分数存储在一个类中,但是我在内部引用变量时遇到了麻烦。请帮忙。这是当前类中的代码
package file_as{
public class CS{
public function CS(){
public var Score:Number = 0;
}
}
}
我试图在包含我的代码的框架中引用场景中的分数
CS.Score
但那不起作用,所以我迷失了。
答案 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,它应该可以在不同的场景中使用。