Java2D Spiel "JSlotter"

Status
Nicht offen für weitere Antworten.

angelchr

Mitglied
Hallo zusammen,

ich arbeite momentan an einem Projekt, wie oben schon beschrieben nennt sich das Teil JSlotter. Das Spiel soll eine in Java2D gehaltene Applikation sein, die dem Spiel Slotter von MB nachempfunden ist. Nun habe ich eine Grundsätzliche Frage zu dem ganzen. Ich muss für das Spiel mehrere Sachen in Java2D zeichnen mit Circles usw. Nun zu meiner Frage:
Wie verhält sich das ganze mit Threads, wenn die Applikation auf einem JFrame und einem JPanel basiert?

Ich zeichne in einer Klasse die von JPanel erbt mehrere Kreise, die später durch threads animiert werden. Muss ich mich darum kümmern, dass alles in dem eventDispatchThread abläuft ja oder nein?
Wenn ja wie mache ich das? Hinweis: es muss auch gewährleistet sein, dass mehrere Animationen parallel laufen.

Gibt es einen Unterschied, ob ich auf einem JPanel zeichne, oder auf Canvas?

Worin liegt der unterschied ob ich paint(Graphics g) oder paintComponent(..) verwende?

Ich würde mich auf Antworten freuen und danke schon im voraus.

Gruß

Angelchr
 

Marco13

Top Contributor
Hey, Slotter fand' ich ja immer total toll :cool:

Gibt es einen Unterschied, ob ich auf einem JPanel zeichne, oder auf Canvas?
Ja, ein Canvas gehört zu AWT, ist Heavyweight und nicht double-buffered.
Verwende lieber Swing, d.h. ein JPanel oder einfach eine JComponent

Worin liegt der unterschied ob ich paint(Graphics g) oder paintComponent(..) verwende?
Bei AWT überschreibt man paint. Bei Swing überschreibt man paintComponent, weil "paint" dort (vereinfacht gesagt) noch mehr macht, als NUR den Inhalt der Component zu zeichnen.

Wie verhält sich das ganze mit Threads, wenn die Applikation auf einem JFrame und einem JPanel basiert?

Ich zeichne in einer Klasse die von JPanel erbt mehrere Kreise, die später durch threads animiert werden. Muss ich mich darum kümmern, dass alles in dem eventDispatchThread abläuft ja oder nein?

Wenn ja wie mache ich das? Hinweis: es muss auch gewährleistet sein, dass mehrere Animationen parallel laufen.

Das Zeichnen selbst passiert NUR in der paintComponent-Methode. Und die wird autoamtisch immer vom Event-Dispatch-Thread aufgeführt. Wenn die Kreise sich bewegen und die "Münzen" fallen sollen, muss das von einem eigenen Thread gemacht werden. (Evtl. auch von mehreren, das ist aber vmtl. nicht nötig, und könnte unnötig kompliziert werden). Dieser Thread verändert dann nur die Positionen der Münzen, und ruft "repaint()" auf - so dass wenig später in paintComponent die Münze an der neuen Position gezeichnet wird.

Schau auf jeden Fall mal hier
http://java.sun.com/products/jfc/tsc/articles/painting/
und evtl. auch hier
http://java.sun.com/products/jfc/tsc/articles/threads/threads1.html
 

angelchr

Mitglied
hey,

danke für die schnelle Antwort. Ich habe die Applikation schon implementiert.
Allerdings muss ich dir sagen ich brauche mehrere Threads. Wenn eine Münze vom letzten Rad in den Tresor fällt, dann will ich ermöglichen, dass gleich der nächste Spieler weitermachen kann. somit muss ich in einem Thread die münze animieren und in einem anderen die bewegung des Rades sicherstellen.

Aber wie um alles in der Welt kann ich herausfinden ob wirklich meine ganzen repaints im EventDispatch laufen? Ich bin mir da nämlich mal gar nicht sicher.

Wenn ich eine möglichkeit hätte, würd ich das teil ja mal komplett posten (ca 11.000 Zeilen), da ich mir auch ehrlich gesagt nicht sicher bin ob man das überhaupt so implementiert wie ich es gemacht habe.... es sind da einige Dinge die ich wenn ich wüsste wie anders machen würde.... ;)


Gruß
angelchr
 

Marco13

Top Contributor
OK, wenn du einen eigenen "Münzen-Fall"-Thread und einen eigenen "Dreh"-Thread hast, kann das sinnvoll sein .... man könnte es vmtl. auch irgendwie kombinieren (eben in einem Thread "falleEinStück()" und "dreheEinBißchen()" aufrufen), aber es spricht ja nichts dagegen, dafür 2 Threads zu machen.

Das Aufrufen von 'repaint()' kann von jeder Stelle aus passieren. Zu jedem Zeitpunkt, und von jedem Thread aus. 'repaint()' legt einfach nur eine Nachricht in die Event-Queue: "Bitte neu zeichnen". Die Queue wird vom EventDispatchThread abgearbeitet, und der übernimmt dann auch das painten.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Java2D Spiel, beim Hinzufügen eines Bildes ruckelt das ganze Spiele- und Multimedia-Programmierung 3
lumo Java2D oder doch OpenglES Spiele- und Multimedia-Programmierung 4
windl CoverFlow in Java2D erstellt Spiele- und Multimedia-Programmierung 24
Kr0e Java2D - Was ist die bewährte Rendermethode ? Spiele- und Multimedia-Programmierung 2
E Wie rendert Java2D/AWT BufferedImages Spiele- und Multimedia-Programmierung 9
M Realisierung einer Sichtweise in Java2D Spiele- und Multimedia-Programmierung 3
S Java2D: AffineTransformation - KOS Spiegeln Spiele- und Multimedia-Programmierung 5
T Transformationen in Java2D Spiele- und Multimedia-Programmierung 6
B Texte in Java2d Spiele- und Multimedia-Programmierung 4
K Hardwarebeschleunigung für Java2D Spiele- und Multimedia-Programmierung 9
R Java2D-Komponenten Spiele- und Multimedia-Programmierung 6
B Java2D: Gradientpaint Spiele- und Multimedia-Programmierung 2
H mit Java2D Markierung über JTable zeichnen und diese bewegen Spiele- und Multimedia-Programmierung 2
M Java2D: GradientPaint mit mehreren Farben Spiele- und Multimedia-Programmierung 4
G SNES Mode7 mit Java2D? Spiele- und Multimedia-Programmierung 2
C Java2D Darstellungsfehler Spiele- und Multimedia-Programmierung 2
C OpenGl Support für Applet (sun.java2d.opengl=True) Spiele- und Multimedia-Programmierung 3
S [Java2D] Performance Frage Spiele- und Multimedia-Programmierung 4
V Java2D dynamische Kurven Spiele- und Multimedia-Programmierung 3
G Punkte des Kreises ausgeben (Java2D) Spiele- und Multimedia-Programmierung 4
K Java2d Bild als JPG oder so speichern Spiele- und Multimedia-Programmierung 10
B Server für Spiel aufsetzen, was Shutdown ist Spiele- und Multimedia-Programmierung 3
xFearofdarkness Feinde überlappen sich in Java Spiel Spiele- und Multimedia-Programmierung 3
ItundMathe1994 TicTacToe Spiel programmieren Spiele- und Multimedia-Programmierung 2
JEP1 Hilfe bei Spiel Spiele- und Multimedia-Programmierung 1
P Pokemon Spiel Funktioniert nicht ? Spiele- und Multimedia-Programmierung 3
Leon.tr3x Mein erstes Programm/Spiel Spiele- und Multimedia-Programmierung 10
O Texas Hold'em Poker als Online-Spiel mit Freunden Spiele- und Multimedia-Programmierung 5
Drachenbauer Speicher-Tool für ein Spiel schreiben Spiele- und Multimedia-Programmierung 13
M Spiel Mühle-Programmierung Java Spiele- und Multimedia-Programmierung 9
Excess Spiel abzugeben Spiele- und Multimedia-Programmierung 1
I Superhelden - Spiel Spiele- und Multimedia-Programmierung 14
E Hauptmenü und Spiel ???? Spiele- und Multimedia-Programmierung 2
L Sound in Java Spiel Spiele- und Multimedia-Programmierung 5
R Interaktives Spiel Spiele- und Multimedia-Programmierung 5
L Spiel im Editor testen Spiele- und Multimedia-Programmierung 4
Jackii dispatchUncaughtException in Quiz Spiel mit GUI Layout Spiele- und Multimedia-Programmierung 6
D Textbasiertes Spiel Spiele- und Multimedia-Programmierung 8
K Android Spiel Programmieren Spiele- und Multimedia-Programmierung 6
L BrickBreaker Spiel Spiele- und Multimedia-Programmierung 3
A Spiel Figur ansprechen und bewegen Spiele- und Multimedia-Programmierung 3
it_is_all Dialogbox im Spiel - Text in Blöcke aufteilen Spiele- und Multimedia-Programmierung 4
F Koordinieren und Essen von Snake - Spiel Spiele- und Multimedia-Programmierung 14
G Entity Verwaltung in einem 2D Spiel Spiele- und Multimedia-Programmierung 1
E Möchte Spiel Programmieren Spiele- und Multimedia-Programmierung 7
S Connect6 Spiel - Code in ei Spiele- und Multimedia-Programmierung 2
A Spiel nach Abfrage beenden oder neustarten Spiele- und Multimedia-Programmierung 1
G Welten Generierung 2D Spiel Spiele- und Multimedia-Programmierung 4
G Java 2D Spiel mit LWJGL verbinden Spiele- und Multimedia-Programmierung 1
N Problem mit 2D Spiel Spiele- und Multimedia-Programmierung 17
T Probleme bei "Pixel-Fighting"-Spiel: Unausgewogene Mannschaften??? Spiele- und Multimedia-Programmierung 4
R Pong Spiel Problem Spiele- und Multimedia-Programmierung 1
L Coordinate Space JavaFX 2d Spiel Spiele- und Multimedia-Programmierung 0
C Vier Gewinnt Spiel Programmiertipp Spiele- und Multimedia-Programmierung 11
N Jump and run Spiel - wo anfangen / weitermachen? Spiele- und Multimedia-Programmierung 11
K Spiel zum zuordnen von Dienstgraden und Dienstgradabzeichen Spiele- und Multimedia-Programmierung 5
M Textbasiertes Spiel programmieren Spiele- und Multimedia-Programmierung 4
T 2d-Spiel Licht Spiele- und Multimedia-Programmierung 5
S Jump 'n' Run-Spiel Kollisionserkennung Spiele- und Multimedia-Programmierung 3
T Spiel rendern Spiele- und Multimedia-Programmierung 2
Grevak Sounds im Spiel Spiele- und Multimedia-Programmierung 5
B Fehlerhafte Mob Bewegungen in Tower Defense Spiel Spiele- und Multimedia-Programmierung 2
F Spiel ähnlich wie SimCity/o.ä programmieren Spiele- und Multimedia-Programmierung 5
X Erklärung zu einem Tic Tac Toe Spiel Spiele- und Multimedia-Programmierung 1
I Spectator Modus für Spiel ähnlich zu Terraria Spiele- und Multimedia-Programmierung 8
I Textbasiertes Spiel - Umsetzungsfrage & Schleifen Problem Spiele- und Multimedia-Programmierung 26
M Kollisions abfrage bei 3D spiel? Spiele- und Multimedia-Programmierung 12
D JAVA Basiertes Spiel aus dem Internet in eigenem Client laden Spiele- und Multimedia-Programmierung 1
P [Spiel]Welche Bilder sind gleich Spiele- und Multimedia-Programmierung 2
E GUI zum Spiel hinzufügen Spiele- und Multimedia-Programmierung 19
S 2D Spiel - Physics Spiele- und Multimedia-Programmierung 16
S 2D Spiel "Der Sprung" Spiele- und Multimedia-Programmierung 7
A 2D Spiel ohne Tiles Spiele- und Multimedia-Programmierung 10
V welche vorgehensweise beforzieht ihr bei einfachem Quizz Spiel ? Spiele- und Multimedia-Programmierung 4
S Quaxli's Heli Spiel läuft nicht nach Plan Spiele- und Multimedia-Programmierung 2
G Methode sleepen während das Spiel weiterläuft Spiele- und Multimedia-Programmierung 3
T Spiel Überprüfung Spiele- und Multimedia-Programmierung 3
P Spiel laggt nach unbestimmter Zeit tierisch. Spiele- und Multimedia-Programmierung 27
S Hilfe bei Spiel Spiele- und Multimedia-Programmierung 6
B Hauptmenü für Spiel Spiele- und Multimedia-Programmierung 1
W Spiel ist langsam/laggt Spiele- und Multimedia-Programmierung 18
J Ascii Spiel Spiele- und Multimedia-Programmierung 1
Androbin Mein Spiel will sich nicht zeichnen lassen !!! Spiele- und Multimedia-Programmierung 7
O Vollständige Musik in Spiel einbauen (wav - Format) Spiele- und Multimedia-Programmierung 8
Y Quiz Spiel Spiele- und Multimedia-Programmierung 1
J Conways Spiel des Lebens nachprogrammiert Spiele- und Multimedia-Programmierung 1
B Spiel Programmieren, die Anfänge Spiele- und Multimedia-Programmierung 6
D [OpenGL] Spiel in der Art von Age of Empires Spiele- und Multimedia-Programmierung 4
lord239123 suche Graphiker für ein Pokemon-Spiel Spiele- und Multimedia-Programmierung 6
S Spiel installeren lassen und organisieren Spiele- und Multimedia-Programmierung 3
J Lichtupdate in tile-basiertem Spiel Spiele- und Multimedia-Programmierung 4
P Erstes Spiel (Strategie) Spiele- und Multimedia-Programmierung 31
J Mein erstes Spiel [Spielevorstellung] Spiele- und Multimedia-Programmierung 2
Bananabert Spiel Renderer Images und Strings Spiele- und Multimedia-Programmierung 4
N Spiel Menü error ! Spiele- und Multimedia-Programmierung 5
S Anfangsmenü mit Spiel verknüpfen Spiele- und Multimedia-Programmierung 16
S Spiel ruckelt trotz 50 fps Spiele- und Multimedia-Programmierung 16
D Spiel-Bilddaten auswerten Spiele- und Multimedia-Programmierung 7
Creylon [LWJGL] Spiel Exportieren Spiele- und Multimedia-Programmierung 2
L Hilfe bei Klassendesign für Spiel Spiele- und Multimedia-Programmierung 2

Ähnliche Java Themen


Oben