Hi,
ich habe Dein Projekt NICHT! gestartet, nur den Code mir flüchtig angeschaut.
... Anscheinend ist davon was hängen geblieben und ich habe das, was
hängen geblieben ist, wiederverwendet. ...
An der Stelle Hut ab! (So lernt man ...) Kompliment.
Was mir (negatives) aufgefallen ist, sind:
1) Lasse es mit Interfaces "arbeiten"
2) Du hast (außer Falsche Thread Hierarchie) dein Grundgerüst zum gefährlichen Workaround gemacht
3) Nicht korrekte Namenvergebung
1- Das Schöne in Java sind die Interfaces, damit kann man sich ein STABILES, gut zum WARTEN, und vor allem für die Zukunft VIELSEITIGES Grundgerüst sich "basteln".
2- Die Hierarchie möchte nicht weiter vertiefen: (GameThread extends SimpleThread)
- GameThread soll (wenn überhaupt) die Höchste Priorität haben
Also besser so:
SimpleThread extends GameThread, XYZ Thread extends GameThread
Aber Du machst sich dein Grundgerüst mit den Threads "Abstürzt sicher"
(Ich habe mir den ?lazydragon "unter die Lupe" damals genommen, obwohl der Autor [wenn ich mich gut erinnre] NUR einen Thread hatte, was jedoch Hauptrelevante Objekte gesteuert hat und nicht nur als "Hauptloop-Gamenschleife" diente, war das schlecht im Code zum Laufzeit! kontrollieren ... Fazit - App stürzt ab, und sogar der [Autor] kann es nicht herausfinden ....)
Und dar sind wir bei extends Thread Thema.
Wenn Du eine Klasse vom XXX erben lässt, bist Du schon etwas (im Bezug auf Grundgerüst!) verloren. Bei eventuellem Bedarf (also bei Änderungen), musst du bei eventuellen Änderungen eine Interacen Lösung finden, im schlimmsten Fall, wird dich dass ne Fullrestrukturierung kosten .... .
Abstrakte Threads, haben seine Verwendung als sog. Demon- Klassen in der Große Java, ob es auf dem "kleinem" Android sinnvoll ist?
Selbstkonversation:
Und sonnst hast du nix zu meckern?
Doch.
GameState =/= PosX ...
Status eines Spieles hat nichts mit der Positionen zu tun.
Es könnte:
- isPlaying
- isPaused
- isRunning
... sein.
Wenn Du aber der Meinung bist, es wird schon, da passe ich schon auf .... versuche sich mit dem Thema auseinander zu setzten:
thread-vs-runnable
Auf die schnelle (geguckt) wird wichtiges erläutert:
Link
LG
Georg
Ps.
Ich möchte hier betonen, dass ich kein "King of Java" bin! Sollte ich im unrecht liegen - sorry!
— geändert am 04.06.2014, 21:55:22
Sorry für Gramatik & Stilistik Fehler.
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.