Я довольно новичок в программировании для Android и libgdx/scene2d, и все это хорошо. У меня есть четыре клавиши со стрелками на экране, и я возился с перемещением «чувака» вокруг, когда они нажаты. Я хотел узнать, знает ли кто-нибудь, как иметь один InputListener, и внутри этого слушателя есть способ проверить, какой актер был нажат на сцене, и сделать что-то на этом основании, вместо того, чтобы иметь четыре разных метода ввода-записи и методов touchup/down , по одному для каждого текстового элемента, я просто хочу его. Вот то, что у меня есть, и нужно проверить внутри этого метода, который нажал актер. Спасибо за чтение и помощь: DПроверьте, какой актер нажат? (libgdx/androidstudio)
InputListener inlis = new InputListener(){//Creating an InputListener to assign to each button instead of writing the same code four times :D
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
System.out.println("Press");
return true;
}
@Override
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
System.out.println("Release");
}
};
tbRight.addListener(inlis);
tbLeft.addListener(inlis);
tbDown.addListener(inlis);
tbUp.addListener(inlis);
Возможно, будет легче иметь 4 разных слушателя. Но вы пробовали 'event.getRelatedActor()'? – noone
Ив огляделся, не нашел ничего. Как я могу использовать это в инструкции if, чтобы проверить, какой актер был нажат? –
Самый простой способ - дать каждому игроку имя и проверить имя 'event.getRelatedActor()'. Но лучше создать новый класс для этого и параметризовать его. – noone