Objekte animieren mit Threads

zipmar

Mitglied
hallo community!

ich schreibe mir ein kleines spiel in java , so ist der plan:rtfm:, jedoch habe ich ein problem bei der
animation.
ich habe mir das 2d tutorial hier aus dem link angesehen von zet.....com und habe recht nett damit experimentiert, jedoch stockt es immer beim selben. Animation;(
kann auch sein das ich da was dauerhaft überlese:bahnhof:

wie bekomme ich mehrere unterschiedliche objekte in verschiedenen geschwindigkeiten animiert?

Java:
public void run() {
        long beforeTime, timeDiff, sleep;
        beforeTime = System.currentTimeMillis();
        while (true) {
            bob1(); // ball 1
            bob2(); // ball 2
            bob3(); // ball 3
            repaint();
            timeDiff = System.currentTimeMillis() - beforeTime;
            sleep = DELAY - timeDiff;
            if (sleep < 0){
                sleep = 10;
            }
            try {
                Thread.sleep(sleep);
            } catch (InterruptedException e) {
                // do nothing
            }
            beforeTime = System.currentTimeMillis();
        }
    }

so setze ich immer alle meine objekte in tiefschlaf:autsch:
wo liegt mein denkfehler, bzw. habe ich den falschen ansatz? könnt ihr mir helfen , bitte ?

grüße
zipmar
 

NoXiD

Bekanntes Mitglied
was meinst du mit
..., jedoch stockt es immer beim selben. Animation
? Meinst du dass die Objekte beim Bewegen "flackern"?

kann auch sein das ich da was dauerhaft überlese
ist leicht möglich :D

wie bekomme ich mehrere unterschiedliche objekte in verschiedenen geschwindigkeiten animiert?
ich würde mir ein Objekt (Ball) erstellen, der zb. einen Parameter speed hat. Somit kannst du jedem der Bälle (Objekt) verschiedene Geschwindigkeiten setzen ;)
 

zipmar

Mitglied
flackern habe ich keins, da ich double buffering verwende.:)

das der ball als eigendes objekt vorhanden sein soll, hab ich mir auch schon überlegt.
speed im konstruktor wäre auch ok, aber wie umsetzen?

für jedes ball objekt, dann einen thread erstellen? geht sowas nicht an die performance ran :bahnhof:

:popcorn:
 

NoXiD

Bekanntes Mitglied
das der ball als eigendes objekt vorhanden sein soll, hab ich mir auch schon überlegt.
speed im konstruktor wäre auch ok, aber wie umsetzen?

naja, eine Klasse Ball hat zb. aktuelle xKoordinate, yKoordinate, radius und schlussendlich speed. Wenn du dann deine Elemente bewegst, kannst du einfach immer ball1.getXKoordinate+=speed (oder multiplizieren, jenachdem wie du speed verwenden willst) und dann neu zeichnen. Somit hat jedes Element seine eigene Geschwindigkeit.

für jedes ball objekt, dann einen thread erstellen? geht sowas nicht an die performance ran
Grundsätzlich kannst du alle Bälle in einem Thread zeichnen, wenn du richtig vorgehst. Du müsstest eine Liste von Bällen haben, die du in einer Schleife alle immer neu zeichnest. Somit kannst du zur Runtime Bälle hinzufügen und entfernen. Auch stoppen kannst du sie, indem du einfach speed auf 0 setzt.

Du kannst aber auch für jeden Ball einen eigenen Thread erstellen, was ich persönlich (je nach Anzahl der Bälle) schöner finden würde. Bei wenigen Bällen musst du auf die Performanz nicht zwingend acht geben, sollten es mehr werden, würde ich die Variante mit den einzelnen Threads bevorzugen, da so jeder Thread "nur" seinen eigenen Ball zeichnen muss, und nicht ein Thread alle zeichnen muss, egal ob er sich bewegt oder nicht..
 

BuddaKaeks

Bekanntes Mitglied
Spiele sind normalerweise immer so aufgebaut:

Java:
public void mainLoop(){
    while(running){
        for(Ball ball : baelle){
            ball.logic(); //hier bewegst du den Ball
        }
        for(Ball ball : baelle){
            ball.render(); //hier zeichnest du den Ball
        }
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Wie bekomme ich eine Transition für alle Objekte zum stoppen? Spiele- und Multimedia-Programmierung 1
Kim_Dotcom Objekte synchronisieren Variablen Spiele- und Multimedia-Programmierung 19
K Bewegte Objekte per Mausklick entfernen Spiele- und Multimedia-Programmierung 3
N Helden: Verschiedene Objekte oder konkrete Unterklassen Spiele- und Multimedia-Programmierung 1
gamebreiti Wie Objekte versenden und empfangen Spiele- und Multimedia-Programmierung 4
J Objekte übereinander lagern Spiele- und Multimedia-Programmierung 1
L JavaFX Objekte bewegen Spiele- und Multimedia-Programmierung 3
Q Mehr objekte darstellen als Pixel vorhanden Spiele- und Multimedia-Programmierung 6
lord239123 Minecraft Nur sichtbare Objekte rendern Spiele- und Multimedia-Programmierung 5
M Objekte verschwinden durch Explosion Spiele- und Multimedia-Programmierung 2
E [LWJGL] Karusell, mehrere Objekte drehen sich um einen Mittelpunkt Spiele- und Multimedia-Programmierung 31
A LWJGL 3D Objekte Kollision Spiele- und Multimedia-Programmierung 3
A JME3 will Blender/j3o Objekte nicht einladen Spiele- und Multimedia-Programmierung 3
B LWJGL/OpenGL rendert manche Objekte nicht Spiele- und Multimedia-Programmierung 6
T JOGL 2D Objekte drehen rotate Spiele- und Multimedia-Programmierung 4
D Objekte in weiter Entfernung flimmern / flackern Spiele- und Multimedia-Programmierung 2
G 3D-Objekte / Grafiken gesucht Spiele- und Multimedia-Programmierung 6
S Klickbare Objekte im Spiel Spiele- und Multimedia-Programmierung 8
T Java3D: Objekte platzieren und entfernen? Spiele- und Multimedia-Programmierung 7
W Rotation aller Objekte einer 3D-Szene Spiele- und Multimedia-Programmierung 8
L 3D Objekte in Java importieren Spiele- und Multimedia-Programmierung 2
M Java3D Picking - falsche Objekte werden gepickt Spiele- und Multimedia-Programmierung 3
P Erkennen auf welche Objekte gezeigt wird in JoGL Spiele- und Multimedia-Programmierung 6
T Selbst-handelnde Objekte im Client-Server Betrieb Spiele- und Multimedia-Programmierung 9
M Java3D Objekte entfernen und hinzufügen Spiele- und Multimedia-Programmierung 10
aze Java 3d Objekte überdecken 2d Komponenten Spiele- und Multimedia-Programmierung 7
aze Java 3D : 3D Objekte speichern und später wieder einlesen Spiele- und Multimedia-Programmierung 9
D Halbdurchsichtige Objekte Spiele- und Multimedia-Programmierung 17
F zu viele Objekte, Problem mit neuzeichnen. Spiele- und Multimedia-Programmierung 5
M Alle Objekte aus der SimpleUniverse entfernen Spiele- und Multimedia-Programmierung 2
A Mehrere geometrische Objekte in JPanel zeichnen Spiele- und Multimedia-Programmierung 4
B Position der ViewingPlatform und Visueller Objekte setzen Spiele- und Multimedia-Programmierung 3
B Isometrischer KartenEditor mit Animierten Objekte Spiele- und Multimedia-Programmierung 3
J 1x Punktlicht auf 5 Objekte benutzen Spiele- und Multimedia-Programmierung 17
F Maussteuerung-gezeichnete Objekte Spiele- und Multimedia-Programmierung 4
B Objekte zur Laufzeit verändern Spiele- und Multimedia-Programmierung 3
A durch Objekte hindurchzoomen Spiele- und Multimedia-Programmierung 2
S 3D Objekte ohne Java3D darstellen? Spiele- und Multimedia-Programmierung 10
J Zu viele Objekte - OutOfMemoryError Spiele- und Multimedia-Programmierung 3
L Objekte zentrieren Spiele- und Multimedia-Programmierung 2
G zur laufzeit objekte einfügen Spiele- und Multimedia-Programmierung 3
G 2D-Objekte werden nicht vollständig gezeichnet Spiele- und Multimedia-Programmierung 4
conan2 Objekte in richtiger Z-Reihenfolge zeichnen Spiele- und Multimedia-Programmierung 2
A Objekte nacheinander zeitgesteuert rotieren lassen Spiele- und Multimedia-Programmierung 4
H 3D Objekte ausfüllen Spiele- und Multimedia-Programmierung 3
T 3D-Objekte Laden Spiele- und Multimedia-Programmierung 3
D 2D Graphic Objekte in ein JPanel einfügen Spiele- und Multimedia-Programmierung 2
G Zugriff auf einzelne Objekte Spiele- und Multimedia-Programmierung 12
U Blenderdatei mit JMoneyEngine animieren Spiele- und Multimedia-Programmierung 2
Luk10 (LWJGL) Aufwendiges Animieren von Texturen Spiele- und Multimedia-Programmierung 16
F LWJGL Smoother animieren lassen (wie bei JOGL = Animator) Spiele- und Multimedia-Programmierung 3
D 2D animieren aber wie? Spiele- und Multimedia-Programmierung 48
D Wasserstrahl animieren: ein Thread je Tropfen? Spiele- und Multimedia-Programmierung 7
M Schornstein: Rauch simulieren/animieren ? Spiele- und Multimedia-Programmierung 6
raptorrs Teile einer CAD-Assembly Gruppe in JAVA animieren? Spiele- und Multimedia-Programmierung 3
S ständig neue Threads Spiele- und Multimedia-Programmierung 4
E Zwei Threads miteinander laufen lassen Spiele- und Multimedia-Programmierung 6
M Minecraft Minecraft, MySQL und Threads Spiele- und Multimedia-Programmierung 12
J Problem mit Threads Spiele- und Multimedia-Programmierung 8
F Java zwei gleiche Threads mit unterschiedlichen Parametern Spiele- und Multimedia-Programmierung 2
L Synchronisierung von Threads die Antwort? Spiele- und Multimedia-Programmierung 8
J Frage zu Threads Spiele- und Multimedia-Programmierung 5
I Problem mit Threads Spiele- und Multimedia-Programmierung 25
L Threads: Denkzeit-Timer Spiele- und Multimedia-Programmierung 3
Tapsi Thread wartet auf Threads Spiele- und Multimedia-Programmierung 7
hdi mehrere Threads/Tasks in einem synchronisieren -> TaskPoo Spiele- und Multimedia-Programmierung 36
0 Problem mit zeitsynchroner Hauptschleife/Threads Spiele- und Multimedia-Programmierung 28
D threads in j3d? Spiele- und Multimedia-Programmierung 6

Ähnliche Java Themen

Neue Themen


Oben