In Scene2D, f Ich habe einen benutzerdefinierten Akteur, wie kann ich meinen ClickListener dazu bringen, auf die Felder und Methoden von customActor zu verweisen? Da zum Beispiel gibt die Methode geht:Scene2Ds ClickListener mit benutzerdefiniertem Actor
public void enter(InputEvent event, float x, float y, int pointer, Actor fromActor) { ... }
Die Sache ist die, dass fromActor
Schauspieler Referenz nicht um die Felder zu sehen, die ich in meinem CustomActor
ändern will ... Ich weiß, dass ich auf etwas tun könnte :
public void enter(InputEvent event, float x, float y, int pointer, Actor fromActor) {
if(fromActor instanceof CustomActor) {
CustomActor actor = (CustomActor)fromActor;
}
}
Aber mir, dass es fühlt sich nicht richtig, muss doch ein effizienter Weg sein; Wenn Sie also von einem wissen, lass es mich wissen: D
Wenn alle Instanzen dieses Akteurs den gleichen Typ von Klick-Listener verwenden, können Sie den Klick-Listener als innere Klasse des Akteurs definieren, oder Sie können ihn als anonyme Klasse vom Konstruktor des Akteurs instanziieren. Ist dies nicht der Fall, weisen Sie Ihren Akteur einer Mitgliedsvariablen in derselben Klasse zu, in der Ihr Klick-Listener definiert ist, und verweisen Sie auf diese Mitgliedsvariable in den Methoden des Klick-Listeners. – Tenfour04