ich Libgdx lerne und ich habe über ein Tutorial kommen, die Userdata-Klassen für alle Akteure im Spiel gemacht, zum Beispiel für einen Schauspieler, Spieler, machte er eine Klasse PlayerUserData die Userdata erweitert, die eine ist abstrakte Klasse, die eine Methode namens getUserData hatte, die eine enum zurückgab, die angibt, um welche Art von Akteur es sich handelte (Boden, Spieler, ...). Im Tutorial erklärte er, dass er es gemacht hat, um Informationen zu speichern und dass es für Kollisionen nützlich wäre. Ich verstehe das nicht ganz, warum speicherst du die Informationen nicht in der Schauspielerklasse des Schauspielers? Und welche Informationen hat es über Kollisionen?Libgdx Benutzerdatenklassen
Antwort
Klingt kompliziert ... Warum nicht einfach bei einfachen, bewährten Methoden wie unten bleiben;
interface MyActor {
enum Type {
// Types of actors
a, b, c, d
}
Type getType();
}
Actor1 implements MyActor
Actor2 implements MyActor
Actor3 implements MyActor
Actor4 implements MyActor
In jedem Actor
, die Schnittstellen von MyActor
es eine ENUM vom Typ MyActor.Type
zurückgeben muss, auf diese Weise gibt es keine Vererbung und Schauspieler haben keine Hierarchie, wo es eindeutig nicht erforderlich.
Jede Actor
MyActor
Umsetzung ihrer eigenen Klasse, können zusammen in Libgdx Sammlungen gespeichert werden wie Array<MyActor>()
und auch für die jeweilige Art des Darstellers, ohne Hektik überprüft werden.
EDIT
Sie könnten sogar die folgende Methode MyActor
für eine einfache Überprüfung eines Typs Schauspieler hinzufügen;
boolean isType(Type type);
Al richtig, danke! – DreamsInHD
- 1. Libgdx - TextureRegion.flip()
- 2. LibGDX shapeRenderer
- 3. LibGDX Sichtbarkeit
- 4. Libgdx Schriftgröße
- 5. Libgdx Kontaktvorrichtung
- 6. Libgdx Viewports
- 7. Libgdx Etikettendrehung
- 8. LibGDX Antialiasing
- 9. Libgdx Zeichenbewegung
- 10. libgdx, bewegungsspezifisch
- 11. Wie libgdx Preference-Datei zwischen mehreren Android-libgdx-App
- 12. Programme laufen gut mit LibGDX -desktop aber nicht LibGDX - Android?
- 13. (Java LibGDX) Wie ändere ich meine Texturen in LibGDX?
- 14. LibGDX SpriteBatch Multitexture möglich?
- 15. Split-Screen in LibGDX
- 16. Libgdx mehrere Bildschirme
- 17. Libgdx - maximale Sprites
- 18. libgdx Partikelsystem Z-Koordinate
- 19. Bildschirme in LibGdx entsorgen
- 20. libGDX App zu .exe?
- 21. Libgdx - Einstellung Sprite Farbe
- 22. LibGDX html Zwischenablage
- 23. Libgdx Gleitpause Menü
- 24. Pixmaps und performance-LibGdx
- 25. Website in libgdx einbinden
- 26. Libgdx Event Polling
- 27. Destroying AdMob Ads Libgdx
- 28. libGDX Array Textur falsch
- 29. Touchdown gehalten libgdx
- 30. Libgdx IOS funktioniert nicht?
Diese Frage ist zu vage, um beantwortet zu werden. Wir wissen nicht, welches Tutorial Sie gerade lesen oder was der Autor gedacht hat. Sie sollten den Tutorial-Autor wahrscheinlich bitten zu fragen. Oder senden Sie einen Link, um es auf der Libgdx message board und fragen Sie es dort so kann es eher eine Diskussion. – Tenfour04
Okay, tu das, – DreamsInHD