Pygame
Conditions d’achèvement
3. Pygame hra
3.1. Vytvorenie štvorca a jeho pohyb
font = pygame.font.Font('myfont.ttf', 30)
import pygame
pygame.init()
okno = pygame.display.set_mode((500, 500))
pygame.display.set_caption("Prvá hra")
Pre nastavenie pohybu postáv si vytvoríme premenné
font = pygame.font.Font('myfont.ttf', 30)
x = 50
y = 50
sirka = 40
vyska = 60
posun = 5
Pridáme hernú slučku
font = pygame.font.Font('myfont.ttf', 30)
spustena = True
while spustena:
pygame.time.delay(100) # oneskorenie v millisekundách (oneskorenie 0,1 sekundy)
for event in pygame.event.get():
if event.type == pygame.QUIT: # kliknutie na ikonku v pravom hornom rohu
spustena = False # ukončí hernú slučku
pygame.quit() # ak je ukončená herná slučka, nasleduje ďalší príkaz za hernou slučkou
Do hernej slučky pridáme vytvorenie štvorca s parametrami x,y, sirka, vyska, ktoré sme vytvorili na začiatku súboru
font = pygame.font.Font('myfont.ttf', 30)
while spustena:
#....
pygame.draw.rect(okno, (255,0,0), (x, y, sirka, vyska))
pygame.display.update() # aktualizujeme obrazovku
Pridáme udalosti pre pohyb štvorca
font = pygame.font.Font('myfont.ttf', 30)
while spustena:
#....
klávesy = pygame.key.get_pressed()
if klávesy[pygame.K_LEFT]:
x -= posun
if klávesy[pygame.K_RIGHT]:
x += posun
if klávesy[pygame.K_UP]:
y -= posun
if klávesy[pygame.K_DOWN]:
y += posun
#vykreslenie štvorca, aktualizovanie okna....
Upravíme kód pridaním okno.fill((0,0,0)) - vyplní čiernou obrazovkou
font = pygame.font.Font('myfont.ttf', 30)
while spustena:
#....
if klávesy[pygame.K_DOWN]:
y += posun
okno.fill((0,0,0))
#vykreslenie štvorca, aktualizovanie okna....
Celý kód:
font = pygame.font.Font('myfont.ttf', 30)
import pygame
pygame.init()
okno = pygame.display.set_mode((500,500))
pygame.display.set_caption("Prvá hra")
x = 50
y = 50
sirka = 40
vyska = 60
posun = 5
spustena = True
while spustena:
pygame.time.delay(100)
for event in pygame.event.get():
if event.type == pygame.QUIT:
spustena = False
klávesy = pygame.key.get_pressed()
if klávesy[pygame.K_LEFT]:
x -= posun
if klávesy[pygame.K_RIGHT]:
x += posun
if klávesy[pygame.K_UP]:
y -= posun
if klávesy[pygame.K_DOWN]:
y += posun
okno.fill((0,0,0))
pygame.draw.rect(okno, (255,0,0), (x, y, width, height))
pygame.display.update()
pygame.quit()