Sok játék sprite-okat használ a játékos karakterének vagy ellenségeinek ábrázolására. Fedezze fel, hogy a Python Arcade könyvtára hogyan teszi egyszerűvé velük a munkát.

A Python Arcade könyvtára zökkenőmentes és intuitív módot kínál a sprite-ok játékfejlesztési projektjeibe való beépítésére. A Sprite-ok alapvető elemek, amelyek vizuális vonzerőt, interaktivitást és dinamikus mozgást kölcsönöznek a játékoknak.

Az Arcade egyszerű szintaxisával és hatékony funkcióival a sprite hozzáadása gyerekjáték lesz. A könyvtár segítségével könnyedén feljavíthatod játékaidat lenyűgöző karakterekkel és tárgyakkal.

Egyszerű játék létrehozása

A cikkben használt kód itt érhető el GitHub adattár és az MIT licence alapján ingyenesen használható.

Mielőtt elkezdené, győződjön meg arról, hogy rendelkezik pip telepítve van a készülékére. Ezzel a paranccsal telepítheti az arcade könyvtárat:

pip install arcade

Kezdje egy egyszerű játék létrehozásával a Python Arcade könyvtárával. Ebben a játékban a játékos balra és jobbra mozoghat.

instagram viewer

Hozzon létre egy MyGame osztályt, amelyből öröklődik árkád. Ablak. Ezt követően határozza meg a változók inicializálásának beállítási módját és a on_draw módszer a játék tárgyainak rajzolására. A on_key_press módszer lehetővé teszi, hogy a játékos balra vagy jobbra mozgassa a kék téglalapot.

Íme az alapjáték kódja:

import árkád

SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480

osztályAz én játékom(árkád. Ablak):
def__benne__(önmagasság, szélesség, magasság):
szuper().__init__(szélesség, magasság)
arcade.set_background_color (arcade.color. FEHÉR)

defbeállít(maga):
self.player_x = 320

defon_draw(maga):
arcade.start_render()
arcade.draw_rectangle_filled (self.player_x, 50, 50, 50, arcade.color. KÉK)

defon_key_press(én, kulcs, módosítók):
ha kulcs == arcade.key. BAL:
self.player_x -= 10
elif kulcs == arcade.key. JOBB:
self.player_x += 10

deffő-():
játék = MyGame (SCREEN_WIDTH, SCREEN_HEIGHT)
game.setup()
arcade.run()

ha __név__ == "__fő__":
fő()

Sprite hozzáadása a játékhoz

Most, hogy egy egyszerű játék működik, itt az ideje, hogy javítsa azt néhány sprite hozzáadásával. Sprite-eket hozhat létre a árkád. Kobold osztály. Képeket tölthet be a sprite megjelenítésére, és használhatja őket a játékban.

Töltsön be egy nevű képfájlt player.png hogy létrehozza a játékos szellemét. Állítsa a sprite kezdeti pozícióját a képernyő közepére. Ban,-ben on_draw módszerrel rajzolja meg a játékos szellemet a húzás funkció segítségével.

osztályAz én játékom(árkád. Ablak):
def__benne__(önmagasság, szélesség, magasság):
szuper().__init__(szélesség, magasság)
arcade.set_background_color (arcade.color. FEHÉR)
self.player_sprite = Egyik sem

defbeállít(maga):
self.player_sprite = arcade. Kobold("player.png")
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = SCREEN_HEIGHT // 2

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

defon_key_press(én, kulcs, módosítók):
ha kulcs == arcade.key. BAL:
self.player_sprite.change_x = -5
elif kulcs == arcade.key. JOBB:
self.player_sprite.change_x = 5

deffrissítés(self, delta_time):
self.player_sprite.update()

További Sprite-szolgáltatások

Az Arcade Sprite-jei az alapvető mozgáson túlmenően is kínálnak funkciókat. Például átméretezhet egy sprite-ot a méretarányos attribútum beállításával.

A lejátszó sprite méretarányát 0,5-re állíthatja, hogy az eredeti méret fele legyen.

osztályAz én játékom(árkád. Ablak):
defbeállít(maga):
self.player_sprite = arcade. Kobold("player.png", skála=0.5)

Sprite mozgás vezérlése

Az Arcade Sprite-jei különféle módokat kínálnak erre irányítja a játékos mozgását. mellett változás_x attribútumot használhatja a változás_y attribútum a függőleges mozgás szabályozására. Bonyolultabb mozgásmintákhoz használhatja a változás_szöge attribútumot a sprite forgatásához.

self.player_sprite.change_angle = FORGÁSSEBESSÉG

Ha ezeket az attribútumokat billentyűzet- vagy egérbevitellel kombinálja, dinamikus és érzékeny mozgásvezérlőket hozhat létre játékaihoz.

Ütközésészlelés hozzáadása Sprite-ekkel

Az ütközésérzékelés számos játékban kulcsfontosságú. Az Arcade segítségével könnyedén észlelheti a sprite-ok közötti ütközéseket a arcade.check_for_collision funkció. Módosítsuk a kódot úgy, hogy az ütközésérzékelést tartalmazzon a játékos sprite és egy másik sprite között akadály.png:

osztályAz én játékom(árkád. Ablak):
def__benne__(önmagasság, szélesség, magasság):
szuper().__init__(szélesség, magasság)
arcade.set_background_color (arcade.color. FEHÉR)
self.player_sprite = Egyik sem

defbeállít(maga):
self.player_sprite = arcade. Kobold("player.png", skála=0.1)
self.obstacle_sprite = arcade. Kobold("akadály.png", skála = 0.1)
self.obstacle_sprite.center_x = KÉPERNYŐSZÉLESSÉG
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(maga):
arcade.start_render()
self.player_sprite.draw()
self.obstacle_sprite.draw()

defon_key_press(én, kulcs, módosítók):
ha kulcs == arcade.key. BAL:
self.player_sprite.change_x = -5
elif kulcs == arcade.key. JOBB:
self.player_sprite.change_x = 5

deffrissítés(self, delta_time):
self.player_sprite.update()
self.obstacle_sprite.update()

ha arcade.check_for_collision (self.player_sprite, self.obstacle_sprite):
nyomtatás("Ütközés észlelve!")

Tedd játékaid vonzóbbá a Sprite-ekkel

A sprite a karaktereket, tárgyakat és animációkat valósághűvé és izgalmassá varázsolja. Mozoghatnak, ütközhetnek, és interakcióba léphetnek a játékban lévő egyéb dolgokkal, ami valósághűbbé és szórakoztatóbbá teszi a játékot.

A sprite segítségével olyan játékokat hozhat létre, amelyek felkeltik a játékosok érdeklődését, és többet szeretnének játszani. A Sprite-ok a lehetőségek világát nyitják meg az izgalmas és emlékezetes játékok létrehozásában.