为什么以下对象中的成员变量不能保持其状态?

时间:2011-08-18 12:12:52

标签: actionscript-3 scope

以下两个AS文件包含静态可用的公共方法。在Mouse.as中,trace语句正确地打印两个调用getLocation()的内容,getLocation()返回空间中的Point(X,Y)。

但是,将Mouse.as中的值传递给HitTest.as时,target.getLocation()始终打印(0,0)。 GameObject实例传入第二个类会导致它失去值时会发生什么?

在GameObject中

public function getLocation():Point2
{
    return m_location;
}

在Block(扩展GameObject)

if (Mouse.isPressing(this))
{
    reset();
}

鼠标

public static function isPressing(target:GameObject):Boolean
{
    trace("T1: " + target.getLocation());
    trace("M1: " + location);
    return isDown() && HitTest.containsPoint(target, Mouse.getLocation());
}

在HitTest中

public static function containsPoint(target:GameObject, location:Point2):Boolean
{
    trace("T2: " + target.getLocation());
    trace("M2: " + location);
    return target.getLocation().GridX == location.GridX && target.getLocation().GridY == location.GridY;
}

0 个答案:

没有答案