Veliko iger uporablja sprite za predstavitev igralčevega lika ali sovražnikov. Ugotovite, kako Pythonova knjižnica Arcade olajša delo z njimi.
Pythonova knjižnica Arcade zagotavlja brezhiben in intuitiven način za vključitev sprite v vaše razvojne projekte iger. Sprite so bistveni elementi, ki vašim igram dodajo vizualno privlačnost, interaktivnost in dinamično gibanje.
S preprosto sintakso in zmogljivo funkcionalnostjo Arcade postane dodajanje spritov preprosto. Knjižnica vam omogoča, da brez težav izboljšate svoje igre z očarljivimi liki in predmeti.
Ustvarjanje preproste igre
Koda, uporabljena v tem članku, je na voljo tukaj Repozitorij GitHub in je brezplačen za uporabo pod licenco MIT.
Preden začnete, se prepričajte, da imate pip nameščen v vaši napravi. Za namestitev arkadne knjižnice uporabite ta ukaz:
pip install arkada
Začnite z ustvarjanjem preproste igre z uporabo knjižnice Python Arcade. V tej igri se bo igralec lahko premikal levo in desno.
Ustvarite razred MyGame, ki deduje od arkada. Okno
. Po tem definirajte metodo nastavitve za inicializacijo spremenljivk in on_draw metoda za risanje predmetov igre. The na_pritisk_tipke omogoča igralcu premikanje modrega pravokotnika levo ali desno.Tukaj je koda za vašo osnovno igro:
uvoz arkada
SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480razredMyGame(arkadne. okno):
def__v__(jaz, širina, višina):
super().__init__(širina, višina)
arcade.set_background_color (arcade.color. BELA)
defnastaviti(sebe):
self.player_x = 320
defon_draw(sebe):
arcade.start_render()
arcade.draw_rectangle_filled (self.player_x, 50, 50, 50, arcade.color. MODRA)
defna_pritisk_tipke(jaz, ključ, modifikatorji):
če ključ == arcade.key. LEVO:
self.player_x -= 10
elif ključ == arcade.key. PRAV:
self.player_x += 10defglavni():
igra = MyGame (SCREEN_WIDTH, SCREEN_HEIGHT)
game.setup()
arcade.run()
če __ime__ == "__glavni__":
glavni ()
Kako svoji igri dodati sprite
Zdaj, ko imate preprosto igro, ki deluje, je čas, da jo izboljšate z dodajanjem nekaj spritov. Sprite lahko ustvarite z uporabo arkada. Sprite razred. Naložite lahko slike, ki predstavljajo vaše sprite, in jih uporabite v svoji igri.
Naloži slikovno datoteko z imenom igralec.png da ustvarite svoj igralec sprite. Nastavite začetni položaj spritea na sredino zaslona. V on_draw način, narišite sprite igralca s funkcijo risanja.
razredMyGame(arkadne. okno):
def__v__(jaz, širina, višina):
super().__init__(širina, višina)
arcade.set_background_color (arcade.color. BELA)
self.player_sprite = Noben
defnastaviti(sebe):
self.player_sprite = arkada. Sprite ("player.png")
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = SCREEN_HEIGHT // 2
defon_draw(sebe):
arcade.start_render()
self.player_sprite.draw()
defna_pritisk_tipke(jaz, ključ, modifikatorji):
če ključ == arcade.key. LEVO:
self.player_sprite.change_x = -5
elif ključ == arcade.key. PRAV:
self.player_sprite.change_x = 5
defnadgradnja(sam, delta_time):
self.player_sprite.update()
Dodatne funkcije Sprite
Sprite v Arcade ponujajo funkcije, ki presegajo osnovno gibanje. Na primer, lahko spremenite velikost spritea tako, da nastavite njegov atribut merila.
Atribut merila sprite igralca lahko nastavite na 0,5, da bo polovica prvotne velikosti.
razredMyGame(arkadne. okno):
defnastaviti(sebe):
self.player_sprite = arkada. Sprite ("player.png", lestvica=0.5)
Nadzor gibanja Sprite
Sprite v Arcade ponujajo različne načine za nadzor gibanja igralca. Poleg tega spremeni_x atribut, lahko uporabite spremeni_y atribut za nadzor navpičnega gibanja. Za bolj zapletene vzorce gibanja lahko uporabite tudi spremeniti kot atribut za vrtenje sprite.
self.player_sprite.change_angle = ROTATION_SPEED
S kombiniranjem teh atributov z vnosom s tipkovnico ali miško lahko ustvarite dinamične in odzivne kontrole gibanja za svoje sprite igre.
Dodajanje zaznavanja trčenja s spriti
Zaznavanje trka je v mnogih igrah ključnega pomena. Z Arcade lahko preprosto zaznate trke med spriti z uporabo arcade.check_for_collision funkcijo. Spremenimo kodo, da bo vključevala zaznavanje trkov med spriteom igralca in drugim klicanim spriteom ovira.png:
razredMyGame(arkadne. okno):
def__v__(jaz, širina, višina):
super().__init__(širina, višina)
arcade.set_background_color (arcade.color. BELA)
self.player_sprite = Noben
defnastaviti(sebe):
self.player_sprite = arkada. Sprite ("player.png", lestvica=0.1)
self.obstacle_sprite = arkada. Sprite ("ovira.png", merilo = 0.1)
self.obstacle_sprite.center_x = SCREEN_WIDTH
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(sebe):
arcade.start_render()
self.player_sprite.draw()
self.obstacle_sprite.draw()
defna_pritisk_tipke(jaz, ključ, modifikatorji):
če ključ == arcade.key. LEVO:
self.player_sprite.change_x = -5
elif ključ == arcade.key. PRAV:
self.player_sprite.change_x = 5
defnadgradnja(sam, delta_time):
self.player_sprite.update()
self.obstacle_sprite.update()
če arcade.check_for_collision (self.player_sprite, self.obstacle_sprite):
natisni("Zaznano trčenje!")
Naj bodo vaše igre bolj privlačne s spriti
Sprite poskrbijo, da so liki, predmeti in animacije videti resnični in vznemirljivi. Lahko se premikajo, trčijo in komunicirajo z drugimi stvarmi v vaši igri, zaradi česar je bolj realistična in zabavna.
S spriti lahko ustvarite igre, ki vzbudijo zanimanje igralcev in želijo več igrati. Sprites odpirajo svet možnosti za ustvarjanje privlačnih in nepozabnih iger.