Попадание актера в libgdx 0.9.7 не получает системные координаты актера

В моей сцене я добавил несколько актеров. У меня установлен Input Processor как для актеров, так и для самой сцены.

Проблема в том, что когда я нажимаю на актера, метод удара актера получает довольно большие значения x и y (я вижу это во время отладки), и это означает, что эти x и y не были преобразованы в соответствующие координаты в системе координат актера. . В документации указана вице-версия.

Я что-то пропустил там? Любая помощь приветствуется.


person Ruzanna    schedule 27.11.2012    source источник


Ответы (2)


У меня было много проблем с моим проектом и позицией актеров.

Попробуйте использовать stageToLocalCoordinates, localToParentCoordinates группы, если ваш Актер сгруппирован.

Если это единственный Актер, попробуйте переопределить метод setX и setY или setPosition и поместите свои координаты в конструктор Актера. Это сработало для моего. С помощью этого метода Актер будет иметь ту же систему координат, что и Сцена.

person Jose Luis CM    schedule 16.12.2012

Использовать

Vector2 coords = stage.screenToStageCoordinates(new Vector2(Gdx.input.getX(), Gdx.input.getY()));

затем используйте coords.x и coords.y в качестве новых координат в функции stage.hit().

person JoM    schedule 16.01.2013