Mnoho her používá skřítky k reprezentaci hráčské postavy nebo nepřátel. Zjistěte, jak knihovna Python’s Arcade usnadňuje práci s nimi.

Knihovna Arcade v Pythonu poskytuje bezproblémový a intuitivní způsob, jak začlenit sprity do vašich projektů vývoje her. Sprites jsou základní prvky, které do vašich her přinášejí vizuální přitažlivost, interaktivitu a dynamický pohyb.

S jednoduchou syntaxí a výkonnými funkcemi Arcade se přidávání spritů stává hračkou. Knihovna vám umožní bez námahy vylepšit vaše hry o podmanivé postavy a předměty.

Vytvoření jednoduché hry

Kód použitý v tomto článku je k dispozici v tomto úložiště GitHub a můžete jej používat zdarma pod licencí MIT.

Než začnete, ujistěte se, že máte pip nainstalovaný na vašem zařízení. K instalaci arkádové knihovny použijte tento příkaz:

pip instalační arkáda

Začněte vytvořením jednoduché hry pomocí knihovny Arcade v Pythonu. V této hře se hráč bude moci pohybovat doleva a doprava.

Vytvořte třídu MyGame, která dědí z pasáž. Okno. Poté definujte metodu nastavení pro inicializaci proměnných a

instagram viewer
on_draw způsob kreslení herních objektů. The on_key_press metoda umožňuje hráči přesunout modrý obdélník doleva nebo doprava.

Zde je kód vaší základní hry:

import pasáž

SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480

třídaMyGame(pasáž. Okno):
def__init__(vlastní, šířka, výška):
super().__init__(šířka, výška)
arcade.set_background_color (arcade.color. BÍLÝ)

defzaložit(já):
self.player_x = 320

defon_draw(já):
arcade.start_render()
arcade.draw_rectangle_filled (self.player_x, 50, 50, 50, arkáda.barva. MODRÝ)

defon_key_press(vlastní, klíč, modifikátory):
-li klíč == arcade.key. VLEVO, ODJET:
self.player_x -= 10
elif klíč == arcade.key. ŽE JO:
self.player_x += 10

defhlavní():
hra = MyGame (SCREEN_WIDTH, SCREEN_HEIGHT)
game.setup()
arcade.run()

-li __jméno__ == "__hlavní__":
hlavní()

Jak přidat skřítky do vaší hry

Nyní, když funguje jednoduchá hra, je čas ji vylepšit přidáním několika skřítků. Můžete vytvářet sprity pomocí pasáž. Skřítek třída. Můžete načíst obrázky, které představují vaše skřítky a použít je ve hře.

Načtěte soubor obrázku s názvem player.png vytvořit svého hráče sprite. Nastavte počáteční polohu spritu na střed obrazovky. V on_draw nakreslete skřítka hráče pomocí funkce draw.

třídaMyGame(pasáž. Okno):
def__init__(vlastní, šířka, výška):
super().__init__(šířka, výška)
arcade.set_background_color (arcade.color. BÍLÝ)
self.player_sprite = Žádný

defzaložit(já):
self.player_sprite = arkáda. Skřítek("player.png")
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = SCREEN_HEIGHT // 2

defon_draw(já):
arcade.start_render()
self.player_sprite.draw()

defon_key_press(vlastní, klíč, modifikátory):
-li klíč == arcade.key. VLEVO, ODJET:
self.player_sprite.change_x = -5
elif klíč == arcade.key. ŽE JO:
self.player_sprite.change_x = 5

defAktualizace(self, delta_time):
self.player_sprite.update()

Další funkce Sprite

Sprites v Arcade nabízejí funkce nad rámec základního pohybu. Můžete například změnit velikost spritu nastavením jeho atributu scale.

Atribut měřítka sprajtu přehrávače můžete nastavit na 0,5, aby byl poloviční oproti původní velikosti.

třídaMyGame(pasáž. Okno):
defzaložit(já):
self.player_sprite = arkáda. Skřítek("player.png", měřítko=0.5)

Ovládání pohybu sprite

Sprites v Arcade poskytují různé způsoby ovládat pohyb hráče. kromě změnit_x atribut, můžete použít změnit_y atribut pro ovládání vertikálního pohybu. Pro složitější pohybové vzorce můžete také použít změnit_úhel atribut pro otočení spritu.

self.player_sprite.change_angle = ROTATION_SPEED

Kombinací těchto atributů se vstupem z klávesnice nebo myši můžete vytvořit dynamické a citlivé ovládání pohybu pro své herní skřítky.

Přidání detekce kolize se skřítky

Detekce kolize je v mnoha hrách klíčová. S Arcade můžete snadno detekovat kolize mezi sprity pomocí arcade.check_for_collision funkce. Upravme kód tak, aby zahrnoval detekci kolize mezi hráčským spritem a dalším volaným spritem překážka.png:

třídaMyGame(pasáž. Okno):
def__init__(vlastní, šířka, výška):
super().__init__(šířka, výška)
arcade.set_background_color (arcade.color. BÍLÝ)
self.player_sprite = Žádný

defzaložit(já):
self.player_sprite = arkáda. Skřítek("player.png", měřítko=0.1)
self.obstacle_sprite = arkáda. Skřítek("překážka.png", měřítko = 0.1)
self.obstacle_sprite.center_x = ŠÍŘKA OBRAZOVKY
self.obstacle_sprite.center_y = SCREEN_HEIGHT // 2
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = SCREEN_HEIGHT // 2

defon_draw(já):
arcade.start_render()
self.player_sprite.draw()
self.obstacle_sprite.draw()

defon_key_press(vlastní, klíč, modifikátory):
-li klíč == arcade.key. VLEVO, ODJET:
self.player_sprite.change_x = -5
elif klíč == arcade.key. ŽE JO:
self.player_sprite.change_x = 5

defAktualizace(self, delta_time):
self.player_sprite.update()
self.obstacle_sprite.update()

-li arcade.check_for_collision (self.player_sprite, self.obstacle_sprite):
tisk("Byla zjištěna kolize!")

Zajistěte, aby vaše hry byly poutavější se skřítky

Díky skřítkům vypadají postavy, předměty a animace skutečné a vzrušující. Mohou se pohybovat, srážet se a interagovat s jinými věcmi ve vaší hře, díky čemuž je hra realističtější a zábavnější.

Pomocí skřítků můžete vytvářet hry, které hráče zaujmou a chtějí hrát více. Sprites otevírají svět možností pro vytváření poutavých a nezapomenutelných her.