AS3:从fla文件中访问类public var

时间:2011-10-24 10:00:32

标签: flash actionscript-3 class

好吧,首先,我已经到处搜索过这个问题,但似乎每个答案都过于复杂或根本不起作用,我确信应该有一种更简单的方法来实现我的需要。

所以,直到今天,我总是在时间线内编码。但现在我意识到为什么我应该在单独的类文件中编码。但是,为了简单起见,我仍然希望在时间线中包含代码片段。

所以在我的Ship类中我有这行代码:

    public var speed:int = 2 + Math.ceil(Math.random() * 4)

在我的时间表中,我有代码:

import Ship;
trace(Ship.speed)

我无法获得显示速度的痕迹。类文件自己完美地执行,但是当我尝试访问它的速度变量时(如上面的时间轴),我得到了这个:

场景1,图层'动作',第1帧,第2行1119:通过具有静态类型Class的引用访问可能未定义的属性速度。

这是一个简单的问题,并为此道歉,但有人能给我一个简单的方法来跟踪Ship.as类文件的速度吗?

提前致谢!

2 个答案:

答案 0 :(得分:2)

您需要创建一个Ship实例,如下所示:

import Ship;
var ship:Ship = new Ship();
trace(ship.speed);

OR

您可以将速度声明为静态变量,以便在不需要实例的情况下访问它(但我认为这样做不太合理):

public static var speed:int = 2;//or whatever

要了解有关AS3中静态变量和方法的更多信息,请检查此响应:Actionscript 3: Can someone explain to me the concept of static variables and methods?

答案 1 :(得分:0)

Ship课程内:

public function get speed():int{
    return 2 + Math.ceil(Math.random() * 4);
}

并在时间轴上:

import Ship;
var ship:Ship = new Ship();
trace(ship.speed);
相关问题