Programme mit Pygame funktionieren nicht

  • Ich habe divers Programme die Pygame zur grafischen Darstellung nutzen. Seit bookworm funtionieren sie nicht mehr. Pygame ist in der virtuellen Umgebung installiert. Um das Problem pragmatisch anzugehen habe ich ein kleines Programm geschrieben:

    # Test Bookworm and Pygame in a virtual environment

    import pygame
    import time
    pygame.init()

    # Fenster initialisieren
    pygame.display.init()
    screen = pygame.display.set_mode((400,400), 0, 0)

    # Farbe für Hintergrund festlegen
    colour = (255,0,0)
    screen.fill(colour) # Hintergrundfarbe ist rot

    pygame.display.flip()

    time.sleep(15)

    Mit diesem Kommando wird das Programm aufgerufen:

    pi@raspberrypi:~ $ source foobar/bin/activate
    (foobar) pi@raspberrypi:~ $ /home/pi/foobar/bin/python3 /home/pi/Programme/0main.py
    pygame 2.6.0 (SDL 2.28.4, Python 3.11.2)
    Hello from the pygame community. https://www.pygame.org/contribute.html
    (foobar) pi@raspberrypi:~ $

    Es erscheint ein schwarzes Fenster und nicht ein mit rot ausgefülltes Fenster.Hat jemand eine Idee was ich tun muss damit das Programm tut was ich erwarte?

    Ich habe das Programm modifiziert nun ist der erste Bildschirm schwarz und alle folgenden rot:/

    # Test Bookworm and Pygame in a virtual environment

    import pygame
    import time
    x = 0
    pygame.init()
    while x < 5:
    # Fenster initialisieren
    pygame.display.init()
    screen = pygame.display.set_mode((400,400), 0, 0)

    # Farbe für Hintergrund festlegen
    colour = (255,0,0)
    screen.fill(colour) # Hintergrundfarbe ist rot

    pygame.display.flip()
    x = x+1
    time.sleep(1)
    pygame.quit()

    Edited 2 times, last by lukas1 (September 2, 2024 at 3:39 PM).

  • lukas1 Das Programm braucht kein sudo! Bitte so etwas gar nicht erst angewöhnen.

    Selbst wenn das Programm ein rot ausgefülltes Fenster zeigen würde, wäre das so schnell wieder weg, dass man das kaum sehen könnte. Da fehlt etwas was das Programm am laufen hält. Und um die Änderungen am screen-Surface sichtbar zu machen fehlt noch ein entsprechender update() oder flip()-Aufruf.

    “Don't put your trust in revolutions. They always come around again. That's why they're called revolutions. People die, and nothing changes.” — Terry Pratchett, Night Watch

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!