pygame
Een eenvoudig pygame-venster maken
Zoeken…
De volledige code
import pygame
pygame.init()
WIDTH = 300
HEIGHT = 200
SCREEN = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption('My Game')
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
YELLOW = (255, 255, 255)
SCREEN.fill(RED)
pygame.display.flip()
is_running = True
while is_running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
is_running = False
pygame.quit()
Pygame importeren en initialiseren
Zoals we met elke module in python doen, moeten we pygame importeren:
import pygame
Vervolgens initialiseren we alle geïmporteerde pygame-modules:
pygame.init()
Dit wordt gebruikt om alle pygame-modules te initialiseren. Zonder dit zouden de modules niet werken
Constanten definiëren
We definiëren hier enkele constanten:
WIDTH = 300
HEIGHT = 200
SCREEN = pygame.display.set_mode((WIDTH, HEIGHT))
De WIDTH
en HEIGHT
constanten worden gebruikt om een venster te maken met een breedte van 300 pixels en een hoogte van 200 pixels. De functie die wordt gebruikt in SCREEN
, pygame.display.set_mode((WIDTH, HEIGHT))
, stelt de weergavemodus in en retourneert een Surface-object . Merk op hoe de parameters voor deze functie de eerder gedefinieerde WIDTH
en HEIGHT
constanten zijn.
De naam van het venster instellen
We gebruiken deze functie vervolgens om de naam van het venster te wijzigen in Mijn spel:
pygame.display.set_caption('My Game')
Kleuren definiëren
Daarna definiëren we 6 kleuren die in ons venster kunnen worden gebruikt:
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
YELLOW = (255, 255, 255)
Bij het definiëren van kleuren voeren we 3 waarden in die variëren van 0 tot 255. De klasse pygame.Color heeft normaal gesproken deze indeling:
COLOUR = (r, g, b, a)
Waar de parameter r de rode waarde van de kleur instelt, stelt de parameter g de groene waarde van de kleur in en stelt de parameter b de blauwe waarde van de kleur in. De parameter a stelt de alfawaarde van de kleur in.
We geven dan dit commando:
SCREEN.fill(RED)
Dit is een pygame.Surface.fill- functie die het Surface-object, ons scherm, vult met de kleur rood.
Pygame.display.flip () gebruiken
We gebruiken dan deze functie
pygame.display.flip()
Dit maakt in feite alles wat we op het scherm Surface hebben getekend zichtbaar en werkt de inhoud van het hele scherm bij. Zonder deze regel zou de gebruiker niets op zijn pygame-scherm zien.
De gamelus
De volgende paar regels zijn wat een "gamelus" wordt genoemd.
Om dit te beginnen maken we een variabele en maken het waar:
is_running = True
Zodat we onze while-lus kunnen beginnen:
while is_running:
die het hele spel doorloopt.
In zijn meest basale vorm heeft pygame "evenementen" die gebruikersinvoer vereisen, bijvoorbeeld een knopdruk of muisklik. Pygame verwerkt deze gebeurtenissen via een gebeurteniswachtrij. We kunnen deze evenementen uit de evenementenwachtrij halen met deze for loop:
for event in pygame.event.get():
Die in feite een lijst met evenementen doorloopt, onze evenementenwachtrij. Dit zijn de volgende 2 regels:
if event.type == pygame.QUIT:
is_running = False
Dit zorgt ervoor dat wanneer de gebruiker op de exit-knop in de bovenhoek drukt, de gebeurtenis met het type pygame.QUIT
plaatsvindt.
Hiermee wordt de while-lus beëindigd, omdat is_running
nu False
en het script naar de laatste regel gaat:
pygame.quit()
Die de pygame-modules ongedaan maakt.