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
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 = 480tří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 += 10defhlavní():
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.