Actionscript 3: Есть ли способ обнаружить коллизии между классом и классом внутри класса? - PullRequest
0 голосов
/ 28 ноября 2009

Так что я сейчас делаю платформерную игру во флеше. Я хочу обнаружить столкновение между моим классом игрока и классом врага. Класс врага находится внутри класса, называемого наземным. Я попытался определить это с помощью hitTestPoint (ground.enemy.hitTestPoint (player.x, player.y, true)), но безрезультатно. Как бы я поступил так?

Ответы [ 2 ]

0 голосов
/ 30 ноября 2009

Возможно, это может быть одной из следующих проблем:

  • Имейте в виду, что метод hitTestPoint работает с корневой системой координат. Если ваши player и ground объекты не размещены в корне, тогда потребуются некоторые преобразования координат.
  • Значения player.x и player.y расположены через исходную точку в клипе player . Если случайно начальная точка находится вне графика player , то проверка попадания не пройдена, поскольку проверяемая вами координата, вероятно, будет не там, где вы ожидаете.
  • Если все остальное терпит неудачу, попробуйте проверить, все ли работает правильно, проверив проверку нажатия мышью: ground.enemy.hitTestPoint (stage.mouseX, stage.mouseY, true);
0 голосов
/ 28 ноября 2009

Не видя ваш код, трудно сказать, что происходит ... что именно не работает с вашим подходом hitTestPoint ()? Вам может потребоваться перевести координаты игровой точки в значение относительно земли (см .: http://help.adobe.com/en_US/AS3LCR/Flash_10.0/ localToGlobal () И globalToLocal ()).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...