Mnoho hier používa škriatkov na znázornenie postavy hráča alebo nepriateľov. Zistite, ako s nimi Python’s Arcade knižnica uľahčuje prácu.

Knižnica Arcade v Pythone poskytuje bezproblémový a intuitívny spôsob, ako začleniť spritov do vašich projektov vývoja hier. Škriatkovia sú základnými prvkami, ktoré do vašich hier prinášajú vizuálnu príťažlivosť, interaktivitu a dynamický pohyb.

S jednoduchou syntaxou a výkonnou funkcionalitou Arcade sa pridávanie spritov stane hračkou. Knižnica vám umožní bez námahy vylepšiť vaše hry o podmanivé postavy a predmety.

Vytvorenie jednoduchej hry

Kód použitý v tomto článku je dostupný v tomto úložisko GitHub a môžete ho bezplatne používať na základe licencie MIT.

Pred začatím sa uistite, že máte pip nainštalovaný na vašom zariadení. Na inštaláciu arkádovej knižnice použite tento príkaz:

arkáda na inštaláciu pipu

Začnite vytvorením jednoduchej hry pomocou knižnice Arcade v Pythone. V tejto hre sa hráč bude môcť pohybovať doľava a doprava.

Vytvorte triedu MyGame, ktorá dedí z

instagram viewer
pasáž. okno. Potom definujte metódu nastavenia na inicializáciu premenných a on_draw spôsob kreslenia predmetov hry. The on_key_press metóda umožňuje hráčovi posunúť modrý obdĺžnik doľava alebo doprava.

Tu je kód vašej základnej hry:

importovať pasáž

SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480

triedaMyGame(arkáda. okno):
def__init__(ja, šírka, výška):
super().__init__(šírka, výška)
arcade.set_background_color (arcade.color. BIELY)

defnastaviť(ja):
self.player_x = 320

defon_draw(ja):
arcade.start_render()
arcade.draw_rectangle_filled (self.player_x, 50, 50, 50, arcade.color. MODRÁ)

defon_key_press(ja, kľúč, modifikátory):
ak kľúč == arcade.key. VĽAVO:
self.player_x -= 10
elif kľúč == arcade.key. SPRÁVNY:
self.player_x += 10

defHlavná():
hra = MyGame (SCREEN_WIDTH, SCREEN_HEIGHT)
game.setup()
arcade.run()

ak __meno__ == "__Hlavná__":
Hlavná()

Ako pridať škriatkov do svojej hry

Teraz, keď už funguje jednoduchá hra, je čas ju vylepšiť pridaním niekoľkých spritov. Môžete vytvárať škriatkov pomocou pasáž. Sprite trieda. Môžete načítať obrázky, ktoré reprezentujú vašich škriatok a použiť ich vo vašej hre.

Načítajte súbor obrázka s názvom player.png vytvoriť svojho hráča sprite. Nastavte počiatočnú polohu spritu do stredu obrazovky. V on_draw spôsob, nakreslite hráča sprite pomocou funkcie draw.

triedaMyGame(arkáda. okno):
def__init__(ja, šírka, výška):
super().__init__(šírka, výška)
arcade.set_background_color (arcade.color. BIELY)
self.player_sprite = žiadne

defnastaviť(ja):
self.player_sprite = arkáda. Sprite("player.png")
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = SCREEN_HEIGHT // 2

defon_draw(ja):
arcade.start_render()
self.player_sprite.draw()

defon_key_press(ja, kľúč, modifikátory):
ak kľúč == arcade.key. VĽAVO:
self.player_sprite.change_x = -5
elif kľúč == arcade.key. SPRÁVNY:
self.player_sprite.change_x = 5

defaktualizovať(self, delta_time):
self.player_sprite.update()

Ďalšie funkcie Sprite

Sprites v Arcade ponúkajú funkcie nad rámec základného pohybu. Veľkosť spritu môžete napríklad zmeniť nastavením jeho atribútu mierka.

Atribút mierky prehrávača sprite môžete nastaviť na 0,5, aby mal polovičnú veľkosť.

triedaMyGame(arkáda. okno):
defnastaviť(ja):
self.player_sprite = arkáda. Sprite("player.png", mierka=0.5)

Ovládanie pohybu sprite

Sprites v Arcade poskytujú rôzne spôsoby ovládať pohyb hráča. Okrem toho zmeniť_x atribút, môžete použiť zmeniť_y atribút na ovládanie vertikálneho pohybu. Pre zložitejšie pohybové vzorce môžete použiť aj zmeniť_uhol atribút na otočenie sprite.

self.player_sprite.change_angle = ROTATION_SPEED

Kombináciou týchto atribútov so vstupom z klávesnice alebo myši môžete vytvoriť dynamické a citlivé ovládacie prvky pohybu pre svojich herných škriatkov.

Pridanie detekcie kolízie so spritmi

Detekcia kolízií je v mnohých hrách kľúčová. S Arcade môžete ľahko zistiť kolízie medzi škriatkami pomocou arcade.check_for_collision funkciu. Upravme kód tak, aby zahŕňal detekciu kolízie medzi hráčskym spritom a iným spritom nazývaným prekážka.png:

triedaMyGame(arkáda. okno):
def__init__(ja, šírka, výška):
super().__init__(šírka, výška)
arcade.set_background_color (arcade.color. BIELY)
self.player_sprite = žiadne

defnastaviť(ja):
self.player_sprite = arkáda. Sprite("player.png", mierka=0.1)
self.obstacle_sprite = arkáda. Sprite("prekážka.png", mierka = 0.1)
self.obstacle_sprite.center_x = ŠÍRKA 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(ja):
arcade.start_render()
self.player_sprite.draw()
self.obstacle_sprite.draw()

defon_key_press(ja, kľúč, modifikátory):
ak kľúč == arcade.key. VĽAVO:
self.player_sprite.change_x = -5
elif kľúč == arcade.key. SPRÁVNY:
self.player_sprite.change_x = 5

defaktualizovať(self, delta_time):
self.player_sprite.update()
self.obstacle_sprite.update()

ak arcade.check_for_collision (self.player_sprite, self.obstacle_sprite):
vytlačiť ("Zistená kolízia!")

Urobte svoje hry pútavejšími so škriatkami

Škriatkovia spôsobujú, že postavy, predmety a animácie vyzerajú skutočne a vzrušujúco. Môžu sa pohybovať, narážať a interagovať s inými vecami vo vašej hre, vďaka čomu je hra realistickejšia a zábavnejšia.

Pomocou spritov môžete vytvárať hry, ktoré hráčov zaujmú a chcú hrať viac. Škriatkovia otvárajú svet možností na vytváranie pútavých a nezabudnuteľných hier.