Почему переменные-члены в следующем объекте не поддерживают свое состояние? - PullRequest
0 голосов
/ 18 августа 2011

Следующие два файла AS содержат статически доступные публичные методы.В Mouse.as операторы трассировки правильно печатают содержимое обоих вызовов getLocation (), который возвращает точку в пространстве (X, Y).

Однако при передаче значения из Mouse.as в HitTest.as target.getLocation () всегда печатает (0,0).Что происходит с экземпляром GameObject, когда он передается во второй класс, что приводит к потере его значения?

In GameObject

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

In 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...