Möglichkeiten um eine einfache Animation darzustellen

kingpommes

Mitglied
Guten Tag liebe Community,
Habe mich vor ein paar Tagen ein wenig ins GUI eingearbeitet.
Bin nun dabei ein kleines Spiel für einen Geldspielautomaten zu basteln.

Ich möchte nun noch gerne eine Animation einarbeiten, in welcher es so aussieht als ob die Symbole von oben nach unten Rollen, wie auf einer Rolle eben. Als erstes hatte ich die Idee einfach für jedes Symbol ein gif zu erstellen, in welchem das Bild einmal von oben nach unten durchläuft. Das Problem war jedoch dann sobald ich schnell ein gif an das nächste hängen wollte, es anscheinend nicht schnell genug lädt und es somit nicht richtig angezeigt wird, bzw manchmal auch garnicht.
Ich tendiere deshalb darauf, dass es nicht schnell genug laden kann.
private Icon polizeiV;
private Icon tipV;

im Konstruktor:
polizeiV=new ImageIcon(getClass().getResource("polizeiV.gif"));
nieteV=new ImageIcon(getClass().getResource("nieteV.gif"));

und dann lass ich es aufrufen und alle 400ms ein neues.


Meine Fragen wären jetzt:
1. Gibt es eine Lösung, damit es beim Abruf schon vollständig geladen es?
2. Gibt es eine andere Lösung um ein Bild von oben nach unten durchlaufen zu lassen?
-> Kann man zB einfach ein Bild mit den Maßen 300x900 unterschiedlich in ein JLabel von 300x300 setzen?
 

kingpommes

Mitglied
So ungefähr dachte ich mir das ja auch, aber dennoch müsste ich das bild ja dann im JLabel unterschiedlich anordnen/zerschneiden, nur mit welcher Methode soll das funktionieren? Ich müsste dann ja bei einem JLabel von 300x300 das bild immer um 300 pixel nach unten/oben verschieben.
 

Gucky

Top Contributor
Du brauchst kein Label pro Bild.
Google mal nach "Sprite Programmierung" und/oder gucke dir Quaxlis Tutorial hier im Forum an. Vielleicht wirst du da fündig.
 

kingpommes

Mitglied
Danke für den Tip, aber da blick ich noch nicht so wirklich durch, ich habe mir jetzt nochmal ein Beispiel Programm geschrieben indem komischer Weiße es perfekt funktioniert
Java:
[/B][/COLOR]public class Gif extends JFrame {
    public
    Icon nieteV ;
    Icon polizeiV;
    Icon nieteT;
    JLabel gif;
    public Gif()
    {
        polizeiV=new ImageIcon(getClass().getResource("polizeiV.gif"));
        nieteV=new ImageIcon(getClass().getResource("nieteV.gif"));
        
        
        setSize(1280,1024);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
        setResizable(false);
        setLayout(null);
        
        
        gif= new JLabel(nieteV);
        gif.setBounds(490,300,300,300);
        
        add(gif);
        
        gif.setIcon(nieteV);
        
        setVisible(true);
        ausführen();
    }


    
    public void warten()
    {
        
        try { 
                Thread.sleep(500);
            }
            catch(Exception ex) {
                System.out.println(ex);
            }
    }
    
    public void ausführen() {
        for (int i=0; i<20;i++) {
            if (i%2==1) {
                gif.setIcon(nieteV);
            }
            else {
                gif.setIcon(polizeiV);
            }
            warten();
        }  
        
    }

}[COLOR=Red][B]

Aber wenn ich mein Richtiges Fenster übergebe, funktioniert es nicht, es bleibt einfach gefreezt das Bild (das gif) bewegt sich nciht mehr, und erst wenn es dann die 20x500ms geschlafen hat, ist das letzte Gif wieder zu sehen. Auch wenn ich den Code in die Klasse meines richtigen Fenster übergebe klappt es nicht mehr. Kann es sein, dass das JFrame nicht leistungsfähig genug ist, oder muss es ein Programmierfehler sein?
 

kingpommes

Mitglied
Habe herausgefunden, dass es wohl am Keylistener liegen muss, denn wenn ich es per Methode aufrufe funktioniert es, falls ich es per Keylistener über die Taste die Methode "ausführen" aufrufe hängt es wie oben beschrieben, wie kann man das vermeiden?
 

kingpommes

Mitglied
Habe mal nen Webdesigner befragt, er meinte ohne Threads würde das ganze nicht funktionieren, er hatte mir dann 2,3 Klassen geschrieben, das ganze funktioniert jetzt irgendwie, benutze jetzt die Klasse TimerTask, nehme mal an, dass sie eigenständig einen neuen Thread erstellt, ist auch gut so weil da habe ich auch überhaupt nicht durchgeblickt.

Naja soweit funktioniert mein kleines Spielchen jetzt, bin froh damit jetzt fertig zu sein ;)
Dennoch Danke für deine Hilfe
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Erste Schritte Java prüfen ob eine der Möglichkeiten erfüllt ist Java Basics - Anfänger-Themen 2
S Welche möglichkeiten gibt es eine Zahl zu spiegeln? Java Basics - Anfänger-Themen 17
R Methoden Eclipse schlägt mir nicht alle Möglichkeiten vor Java Basics - Anfänger-Themen 4
melisax Alle Möglichkeiten eines Wortes angeben Java Basics - Anfänger-Themen 3
Kirby.exe Alle möglichen Error Möglichkeiten abfangen Java Basics - Anfänger-Themen 33
D Alle Möglichkeiten, n-Anzahl aus Elementen aus einem Array zu wählen, ausgeben? Java Basics - Anfänger-Themen 23
S boolean Wert von mehreren int Möglichkeiten abfragen ? Java Basics - Anfänger-Themen 4
E if-Bedingung mit mehreren Möglichkeiten ? Java Basics - Anfänger-Themen 6
V Anzahl der Möglichkeiten 20 € zu bezahlen Java Basics - Anfänger-Themen 2
H möglichkeiten für for-schleife? (mehrere ausgangsvariablen?) Java Basics - Anfänger-Themen 9
V Hellman und seine Möglichkeiten Java Basics - Anfänger-Themen 6
T Java Möglichkeiten entdecken Java Basics - Anfänger-Themen 5
D Münzverteilung Möglichkeiten | Rekursiv Java Basics - Anfänger-Themen 3
B Erste Schritte Möglichkeiten generieren Java Basics - Anfänger-Themen 25
J Klassen Erstellen eines Attributs mit 3 Möglichkeiten Java Basics - Anfänger-Themen 6
M Verschiedene Möglichkeiten mit 'equals' abdecken? Java Basics - Anfänger-Themen 9
S Close Möglichkeiten Java Basics - Anfänger-Themen 3
S Input/Output Welche Möglichkeiten Eingabe von User abfragen Java Basics - Anfänger-Themen 5
S Suchmaske alle Möglichkeiten effinzent durchgehen Java Basics - Anfänger-Themen 4
U JTable viele möglichkeiten, keine Lösung Java Basics - Anfänger-Themen 5
D Arrays und paar Möglichkeiten mit denen Java Basics - Anfänger-Themen 3
N alle "3er" Möglichkeiten aus 10 Buchstaben Java Basics - Anfänger-Themen 6
N alle Möglichkeiten x gegenstände auf y Behälter aufzuteilen Java Basics - Anfänger-Themen 6
S equals( mit mehreren möglichkeiten) Java Basics - Anfänger-Themen 18
mwildam Textfile lesen und schreiben - so viele Möglichkeiten Java Basics - Anfänger-Themen 5
N Möglichkeiten im Pokerspiel Java Basics - Anfänger-Themen 5
G Möglichkeiten von Pizza Belägen Java Basics - Anfänger-Themen 9
W Java-Möglichkeiten Java Basics - Anfänger-Themen 2
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
I In unterschiedlichen Applikation Zugriff auf eine gemeinsame Anwendung? Java Basics - Anfänger-Themen 8
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
J Eine konzeptionelle Frage zu OOP Java Basics - Anfänger-Themen 3
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
M Vergleichen, ob eine Liste länger als andere ist Java Basics - Anfänger-Themen 6
T Methode soll etwas ausrechnen und zurückgeben (klappt nd) hat wer eine Idee? Java Basics - Anfänger-Themen 11
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
Kingdako Wie löse ich eine Mathematische Formel mit Arrays und Schleifen? Java Basics - Anfänger-Themen 32
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
G Wie wartet man bis ein URL eine Antwort zurückgibt? Java Basics - Anfänger-Themen 5
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
T Eingabe durch eine Zahl dividieren nachgucken? Java Basics - Anfänger-Themen 4
M mit Maven eine ausführbare Jar bauen Java Basics - Anfänger-Themen 7
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
J Zugriff auf eine 2. Klasse die per UI-Designer erstellt wurde Java Basics - Anfänger-Themen 1
M Eine Funktion zuweisen Java Basics - Anfänger-Themen 3
J Eine theoretische Frage zur Praxis - JPanel oder Canvas Java Basics - Anfänger-Themen 5
A Methoden Guten Tag , ich wollte so machen dass wenn meine frog an eine fly/bee geht dann an meine Tafel geht der zahl +1 hoch. Java Basics - Anfänger-Themen 2
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
J Beim Start des Programms zB. eine Linie in JPanel ausgeben Java Basics - Anfänger-Themen 4
L Methoden Eine Methode um zu testen ob es ein Nachbar gibt Java Basics - Anfänger-Themen 10
S Eine Idee umsetzen ganz schnell!? Java Basics - Anfänger-Themen 68
I Grundsatzfrage: Belegt eine Referenz auf 'null' RAM, und wenn ja - wieviel ;-) ? Java Basics - Anfänger-Themen 5
jeff98 Wie kann man in Java eine Zeichenformation ausgeben? Java Basics - Anfänger-Themen 9
K loop pausieren für eine bestimmte Anzahl? Java Basics - Anfänger-Themen 1
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
Thomas06 Wie kann man mithilfe von boolean herausfinden ob eine zahl durch 5 und 7 teilbart ist ? Java Basics - Anfänger-Themen 7
M Prüfen on eine Zahl im String enthalten ist Java Basics - Anfänger-Themen 3
U jUnit 5 Test für eine addMethode Java Basics - Anfänger-Themen 18
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
A Eclipse IDE - Wie bekomme ich eine ältere Version Java Basics - Anfänger-Themen 6
F Wie kann ich eine Funktion schreiben, die nur in bestimmten Fällen einen Wert zurückgibt? Java Basics - Anfänger-Themen 5
berserkerdq2 Warum muss man manchmal in der RUnmethode sleep in eine schleife tun? Java Basics - Anfänger-Themen 9
berserkerdq2 Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized? Und wie sieht bei Conditions aus? Java Basics - Anfänger-Themen 8
berserkerdq2 Wozu benötigt man den BiPredicate, kann ich nicht einfach eine normale Methode nutzen, statt BiPredicate? Java Basics - Anfänger-Themen 3
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
berserkerdq2 Sende eine Nachricht an den Client und leere den Ausgabestorm, was ist damit genau gemeint? Java Basics - Anfänger-Themen 3
S Eine Variable in einem Array speichern Java Basics - Anfänger-Themen 5
sserio Prüfen, ob eine Zahl eine periodische Zahl ist Java Basics - Anfänger-Themen 20
L Anpassung der Spaltenbreite auch auf eine zweite Tabelle anwenden Java Basics - Anfänger-Themen 8
NadimArazi Wie kann ich eine collision detection für die Paddles in meinem Pong Programm hinzufügen? Java Basics - Anfänger-Themen 4
JordenJost Java ist auch eine Insel für Anfänger Java Basics - Anfänger-Themen 2
berserkerdq2 Warum soll ich shuffle nutzen, um bei Rückgabewert Collection eine Liste zurückzugeben? Java Basics - Anfänger-Themen 3
berserkerdq2 Ich gebe eine ArrayList als List zurück per MEthode, wie kann ich nun aber die ArrayList speichern? Java Basics - Anfänger-Themen 46
berserkerdq2 Überprüfen ob eine Schreibberechtigung auf ein file exisitert bzw. ob man dieses file löschen kann, wie? Java Basics - Anfänger-Themen 9
sserio Java Fx, wie erstellt man einen EventHandler, der durch das Drücken eines Button Texte in eine Table view einfügt Java Basics - Anfänger-Themen 17
M Eine Methode die erkennt ob die ein gegebene zahl größer oder kleiner sein muss Java Basics - Anfänger-Themen 2
Avalon Warum funktioniert eine Bedingung und eine andere nicht? Java Basics - Anfänger-Themen 2
F Suche nach betreuender Person für eine Jahresarbeit der 12. Klasse. Java Basics - Anfänger-Themen 6
X Hilfe beim Übertragen in eine For-Schleife Java Basics - Anfänger-Themen 1
H Eine Methode über Actionlistener beenden Java Basics - Anfänger-Themen 8
A Wenn eine Zahl durch 7 teilbar ist, soll statt der Zahl ein ‘*‘ angezeigt werden. java? Java Basics - Anfänger-Themen 47
U Warum gibt das eine Nullpointerexception? (Switch) Java Basics - Anfänger-Themen 6
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
K Warum gibt mir z. B. 40^128 eine Zahl? Ich dachte mit xor kann man nur booleanwerte erhalten, also prüfen ob etwas whar oder falsch ist? Java Basics - Anfänger-Themen 1
M Wie lassen sich Objektkonstanten initialisieren, wenn sie eine Bedingung erreichen? Java Basics - Anfänger-Themen 6
K Präzedenregeln in Java sagen, dass +expr und -expr vor + von Addition und - von Addition stehen, warum wird dann z. B. a+b als eine Addition ausgeführ Java Basics - Anfänger-Themen 7
M Wie schreibe ich eine if-Verzweigung um, so dass ein Bedingungsoperator benutzt wird? Java Basics - Anfänger-Themen 9
M Wie kann eine Methode für ein vorhandenes "Array von char" einen Index-Wert zurückliefern? Java Basics - Anfänger-Themen 3
M Wie kann eine Methode (string) eine andere Methode (void) mit zufälligen int-Werten aufrufen? Java Basics - Anfänger-Themen 4
M Wie verknüpfe ich eine Bedingung mit einer Methode ohne if-Verzweigung & Bedingungsoperator? Java Basics - Anfänger-Themen 2
M Wie kann eine Methode eine andere Methode um Werte wie z.B. 1 erhöhen? Java Basics - Anfänger-Themen 6
B Methoden Rekursiv festellen, ob eine Zahl gerade-oft vorkommt oder nicht Java Basics - Anfänger-Themen 4
M Wie kann ich eine Methode aus einem Interface in eine Klasse implementieren, so dass sie ihre Funktion ausführt? Java Basics - Anfänger-Themen 7
Igig1 Welche Werte sind als default Werte in einem Array, der als Datentyp eine Klasse hat? Java Basics - Anfänger-Themen 1
Kiki01 Wie würde eine geeignete Schleife aussehen, die die relative Häufigkeit für jeden Charakter in einem Text bestimmt? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben