Bild mit pygame drehen

Ich bin neu zu pygame und möchte einen Code schreiben, der einfach ein Bild um 90 Grad alle 10 Sekunden dreht. Mein Code sieht so aus:

import pygame import time from pygame.locals import * pygame.init() display_surf = pygame.display.set_mode((1200, 1200)) image_surf = pygame.image.load("/home/tempuser/Pictures/desktop.png").convert() imagerect = image_surf.get_rect() display_surf.blit(image_surf,(640, 480)) pygame.display.flip() start = time.time() new = time.time() while True: end = time.time() if end - start > 30: break elif end - new > 10: print "rotating" new = time.time() pygame.transform.rotate(image_surf,90) pygame.display.flip() 

Dieser Code funktioniert nicht, dh das Bild dreht sich nicht, obwohl das "Drehen" alle 10 Sekunden im Terminal gedruckt wird. Kann mir jemand sagen was ich falsch mache?

One Solution collect form web for “Bild mit pygame drehen”

pygame.transform.rotate wird die Surface an Ort und Stelle drehen, sondern eine neue, gedrehte Surface . Auch wenn es die bestehende Surface verändern würde, müssten sie es wieder auf die Anzeigefläche bringen.

Was du tun solltest, ist, den Winkel in einer Variablen zu verfolgen, sie um 90 alle 10 Sekunden zu erhöhen und die neue Surface auf den Bildschirm zu schlagen, zB

 angle = 0 ... while True: ... elif end - new > 10: ... # increase angle angle += 90 # ensure angle does not increase indefinitely angle %= 360 # create a new, rotated Surface surf = pygame.transform.rotate(image_surf, angle) # and blit it to the screen display_surf.blit(surf, (640, 480)) ... 
  • In python Wie funktioniert "if-else and for" in einem Wörterbuchverstehen
  • Wie beseitige ich den ☎ Unicode?
  • Überprüfe die Python 3-Quelle mit Pylint mit Python 2
  • Wie dokumentiere ich Mitglieder in bestimmten Abschnitten mit Sphinx?
  • Fehlerbehandlung in Python mit JSON und Wörterbuch
  • Python: matplotlib - Wahrscheinlichkeit Massenfunktion als Histogramm
  • Erforderliche Widgets für die Anzeige einer 1D-Konsolenanwendung
  • Klick auf einen Link über Selen in Python
  • Mehrere numpy Version auf Mac OS X
  • Wie man zwei Unterabfragen in SQLAlchemy und postgresql vereinigt
  • ImportError: Kein Modul namens scipy
  • Python ist die beste Programmiersprache der Welt.