Tu je návod, ako môžete do svojej hry pridať úrovne, aby bola pútavejšia a zábavnejšia.

Úrovne sú základným aspektom väčšiny videohier. Poskytujú štruktúru, výzvu a rozmanitosť a môžu výrazne zlepšiť zážitok hráča. PyGame, populárna knižnica Python pre vývoj hier, poskytuje rôzne funkcie, pomocou ktorých môžete jednoducho vytvárať rôzne úrovne. Dobre navrhnutá úroveň môže hráča zaujať, vytvoriť pocit napredovania a v konečnom dôsledku ho odmeniť za vynaložené úsilie.

Úrovne plánovania a navrhovania

Pred vytvorením úrovní je nevyhnutné ich naplánovať a navrhnúť. Plánovanie úrovní pomáha pri vytváraní dobre štruktúrovanej hry, ktorá poskytuje hráčom správnu úroveň obtiažnosti. Ak chcete plánovať úrovne, musíte zvážiť rôzne faktory, ako sú herné mechanizmy, príbeh a celková štruktúra hry.

Napríklad, ak navrhujete plošinovku, musíte myslieť na umiestnenie platforiem, nepriateľov a prekážky. Musíte tiež zvážiť pohyb hráča, ako je skákanie a beh, a podľa toho navrhnúť úrovne.

Kód použitý v tomto článku je dostupný v tomto

instagram viewer
úložisko GitHub a môžete ho bezplatne používať na základe licencie MIT.

Vytvorenie dvoch jednoduchých úrovní

Pred začatím sa uistite, že máte pip nainštalovaný vo vašom systéme. Tento príkaz použite na inštaláciu pygame knižnica:

pip install pygame

Teraz vytvorte dve jednoduché úrovne s platformou a hráčom. Tu je kód pre prvú úroveň:

importovať pygame

pygame.init()

# Definujte konštanty
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
PLATFORM_WIDTH = 100
PLATFORM_HEIGHT = 20
PLAYER_WIDTH = 50
PLAYER_HEIGHT = 50
PLATFORM_COLOR = (255, 255, 255)
PLAYER_COLOR = (255, 0, 0)

# Vytvorte obrazovku
obrazovka = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))

# Vytvorte platformu
platforma = pygame. Rect(350, 500, PLATFORM_WIDTH, PLATFORM_HEIGHT)

# Vytvorte prehrávač
hráč = pygame. Rect(375, 450, PLAYER_WIDTH, PLAYER_HEIGHT)

# Herná slučka
beh = Pravda
zatiaľ čo beh:
pre udalosť v pygame.event.get():
ak event.type == pygame. UKONČIŤ:
beh = Nepravdivé
elif event.type == pygame. KEYDOWN:
ak event.key == pygame. K_LEFT:
player.move_ip(-10, 0)
elif event.key == pygame. K_RIGHT:
player.move_ip(10, 0)

# Vyplňte obrazovku čiernou farbou
screen.fill((0, 0, 0))

# Nakreslite plošinu
pygame.draw.rect (obrazovka, PLATFORM_COLOR, platforma)

# Nakreslite prehrávač
pygame.draw.rect (obrazovka, PLAYER_COLOR, prehrávač)

# Aktualizujte obrazovku
pygame.display.flip()

pygame.quit()

Potom vytvorte druhú úroveň jednoduchou zmenou platformy a pozície hráča. Tu je kód pre druhú úroveň:

importovať pygame

pygame.init()

# Definujte konštanty
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
PLATFORM_WIDTH = 150
PLATFORM_HEIGHT = 20
PLAYER_WIDTH = 50
PLAYER_HEIGHT = 50
PLATFORM_COLOR = (255, 255, 255)
PLAYER_COLOR = (255, 0, 0)

# Vytvorte obrazovku
obrazovka = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))

# Vytvorte platformu
platforma = pygame. Rect(200, 500, PLATFORM_WIDTH, PLATFORM_HEIGHT)

# Vytvorte prehrávač
hráč = pygame. Rect(225, 450, PLAYER_WIDTH, PLAYER_HEIGHT)

# Herná slučka
beh = Pravda
zatiaľ čo beh:
pre udalosť v pygame.event.get():
ak event.type == pygame. UKONČIŤ:
beh = Nepravdivé
elif event.type == pygame. KEYDOWN:
ak event.key == pygame. K_LEFT:
player.move_ip(-10, 0)
elif event.key == pygame. K_RIGHT:
player.move_ip(10, 0)

# Vyplňte obrazovku čiernou farbou
screen.fill((0, 0, 0))

# Nakreslite plošinu
pygame.draw.rect (obrazovka, PLATFORM_COLOR, platforma)

# Nakreslite prehrávač
pygame.draw.rect (obrazovka, PLAYER_COLOR, prehrávač)

# Aktualizujte obrazovku
pygame.display.flip()

pygame.quit()

Tento kód je podobný prvej úrovni, ale platforma a pozície hráča sú zmenené.

Prepojenie rôznych úrovní

Ak chcete spojiť rôzne úrovne, musíte upraviť hernú slučku, aby ste prepínali medzi úrovňami, keď hráč dokončí úroveň. Môžete to urobiť vytvorením premennej na sledovanie aktuálnej úrovne a použitím podmienených príkazov na prepínanie medzi úrovňami. Môžete tiež zistiť kolízie a skontrolovať ak hráč dosiahol koniec úrovne.

Tu je upravená herná slučka:

aktuálna_úroveň = 1

# Nakreslite platformu a hráča na základe aktuálnej úrovne
ak aktuálna_úroveň == 1:
pygame.draw.rect (obrazovka, PLATFORM_COLOR, platforma1)
pygame.draw.rect (obrazovka, PLAYER_COLOR, prehrávač)
# Skontrolujte, či hráč dosiahol koniec úrovne
ak player.colliderect (platform1) == Nepravdivé:
aktuálna_úroveň = 2
elif aktuálna_úroveň == 2:
pygame.draw.rect (obrazovka, PLATFORM_COLOR, platforma2)
pygame.draw.rect (obrazovka, PLAYER_COLOR, prehrávač)
# Skontrolujte, či hráč dosiahol koniec úrovne
ak player.colliderect (platform2) == Pravda:
beh = Nepravdivé

Zdieľanie herných údajov medzi úrovňami

Aby ste ich mohli zdieľať medzi úrovňami, musíte si uložiť herné dáta. Za týmto účelom vytvorte samostatný modul Python na ukladanie údajov o hre a ich import do každej úrovne.

Tu sú kroky:

  • Vytvorte nový modul Python s názvom game_data.py.
  • Definujte globálnu premennú v game_data.py modul na uloženie pozície hráča.
  • V každej úrovni importujte súbor game_data modul.
  • Ak chcete získať pozíciu hráča v každej úrovni, použite game_data.player_pos premennej namiesto vytvorenia nového objektu hráča.
  • Ak chcete aktualizovať pozíciu hráča, upravte hodnotu game_data.player_pos v každej iterácii.

Tu je upravený kód na zdieľanie pozície hráča medzi úrovňami.

V game_data.py modul, pridajte nasledujúci kód:

player_pos = (0, 0)

Prvá úroveň:

importovať pygame
importovať game_data

# Vytvorte prehrávač
hráč = pygame. Rect (game_data.player_pos[0], game_data.player_pos[1], PLAYER_WIDTH, PLAYER_HEIGHT)

# Herná slučka
beh = Pravda
zatiaľ čo beh:
# Nakreslite prehrávač
pygame.draw.rect (obrazovka, PLAYER_COLOR, prehrávač)

# Aktualizujte pozíciu hráča v module game_data
game_data.player_pos = (hráč.x, hráč.y)

Urobte hry pútavejšími pomocou úrovní

Pridaním rôznych úrovní do vašej hry môže byť hra pre hráčov pútavejšia a zábavnejšia. Prepojením úrovní a zdieľaním herných údajov môžete vytvoriť bezproblémový a súdržný herný zážitok. To môže pomôcť hráčom zostať ponorení do herného sveta a znížiť pravdepodobnosť odpútania sa alebo nudy.