Files
test/main.py
2024-08-07 21:47:01 +02:00

63 lines
2.3 KiB
Python

# Pygame Modul importieren.
import pygame
# Unser Tilemap Modul
import Tilemap
# Überprüfen, ob die optionalen Text- und Sound-Module geladen werden konnten.
if not pygame.font: print('Fehler pygame.font Modul konnte nicht geladen werden!')
if not pygame.mixer: print('Fehler pygame.mixer Modul konnte nicht geladen werden!')
def main():
# Initialisieren aller Pygame-Module und
# Fenster erstellen (wir bekommen eine Surface, die den Bildschirm repräsentiert).
pygame.init()
screen = pygame.display.set_mode((800, 600))
# Titel des Fensters setzen, Mauszeiger nicht verstecken und Tastendrücke wiederholt senden.
pygame.display.set_caption("Pygame-Tutorial: Animation")
pygame.mouse.set_visible(1)
pygame.key.set_repeat(1, 30)
# Clock-Objekt erstellen, das wir benötigen, um die Framerate zu begrenzen.
clock = pygame.time.Clock()
# Wir erstellen eine Tilemap.
map = Tilemap.Tilemap()
# Die Schleife, und damit unser Spiel, läuft solange running == True.
running = True
while running:
# Framerate auf 30 Frames pro Sekunde beschränken.
# Pygame wartet, falls das Programm schneller läuft.
clock.tick(60)
# screen Surface mit Schwarz (RGB = 0, 0, 0) füllen.
screen.fill((198, 209, 255))
# Alle aufgelaufenen Events holen und abarbeiten.
for event in pygame.event.get():
# Spiel beenden, wenn wir ein QUIT-Event finden.
if event.type == pygame.QUIT:
running = False
# Wir interessieren uns auch für "Taste gedrückt"-Events.
if event.type == pygame.KEYDOWN:
# Wenn Escape gedrückt wird posten wir ein QUIT-Event in Pygames Event-Warteschlange.
if event.key == pygame.K_ESCAPE:
pygame.event.post(pygame.event.Event(pygame.QUIT))
# Alle Tastendrücke auch der Tilemap mitteilen.
map.handle_input(event.key)
# Die Tilemap auf die screen-Surface rendern.
map.render(screen)
# Inhalt von screen anzeigen
pygame.display.flip()
# Überprüfen, ob dieses Modul als Programm läuft und nicht in einem anderen Modul importiert wird.
if __name__ == '__main__':
# Unsere Main-Funktion aufrufen.
main()