Zeitabstände einbauen
-
- User
- Beiträge: 120
- Registriert: Montag 4. Juni 2007, 19:19
Mit time.sleep() wird deine GUI zwischendurch nicht upgedated, also nur das letze Bild angezeigt. Ich hatte kürzlich das selbe Problem mit einer PyQt4-GUI. Dort war die Lösung, einen QTimer zu verwenden, der in festen Abständen eine Funktion auslöst, die jedesmal ein anderes Bild anzeigt.
Keine Ahnung ob PyGame was ähnliches hat, bzw auf welchem Toolkit das aufbaut.
Keine Ahnung ob PyGame was ähnliches hat, bzw auf welchem Toolkit das aufbaut.
pygame-sprites? sry bin neu auf dem gebiet.
Hab jetzt das hier versucht aber ich muss iwie nach dem ersten durchlaufen das zaehler=0 wegbekommen damit er auch weiterläuft.
Gibt es nicht nen Befehl der abfragt ob eine Variable nicht definieret ist?
z.B sowas wie "not definited")
Hab jetzt das hier versucht aber ich muss iwie nach dem ersten durchlaufen das zaehler=0 wegbekommen damit er auch weiterläuft.
Code: Alles auswählen
if Bewegung:
if rechts:
Mariorechts= (Mariorechts2,Mariorechts3,Mariorechts4,Mariorechts5,Mariorechts6)
zaehler=0
MarioX+= 5
Mario=Mariorechts[zaehler]
pygame.time.wait(100)
zaehler+=1
Gibt es nicht nen Befehl der abfragt ob eine Variable nicht definieret ist?
z.B sowas wie "not definited")
Whoops sry, jaja die Rechtschreibung^^
Also gut zuerst einmal müsst ihr außerhalb eine Variable zaehler definieren, und diese am besten zaehler =0.
Nun der entscheidende Quelltextteil:
Also gut zuerst einmal müsst ihr außerhalb eine Variable zaehler definieren, und diese am besten zaehler =0.
Nun der entscheidende Quelltextteil:
Code: Alles auswählen
if Bewegung:
if rechts:
Mariorechts= [Mariorechts2,Mariorechts3,Mariorechts4,Mariorechts5,Mariorechts6]
MarioX+= 5
Mario=Mariorechts[zaehler]
pygame.time.wait(100)
zaehler= zaehler+1
if zaehler==5:
zaehler=0
@Basti91: Das sollte alles in einer Klasse verschwinden, am besten eine, die von `pygame.sprite.Sprite` abgeleitet ist.
dann solltest du noch die variablen klein schreiben und dir vor allem nicht mitten im programm datenstrukturen zusammenbauen:
ist böse!
leerzeichen hinter "," machen sich auch gut.
Code: Alles auswählen
Mariorechts= [Mariorechts2,Mariorechts3,Mariorechts4,Mariorechts5,Mariorechts6]
leerzeichen hinter "," machen sich auch gut.
http://www.kinderpornos.info
-
- User
- Beiträge: 120
- Registriert: Montag 4. Juni 2007, 19:19
Is aber lustig, dass "wait" hier funktioniert? Ist dieses Ding unabhängig von der main-loop, ein eigener thread? Oder, wenn ich mir den Code-Schnippsel ansehe, ist das einfach ein Teil der main-loop?
@ichbinsisyphos: Bei `pygame` musst Du Dir die Hauptschleife selber schreiben. Der Ausschnitt steht also höchstwahrscheinlich in dieser Schleife, die normalerweise eine "Endlosschleife" ist, in der eine ``for``-Schleife über die Ereigniswarteschlange steckt.