Mnoge igre koriste spriteove za predstavljanje lika igrača ili neprijatelja. Saznajte kako Pythonova biblioteka Arcade olakšava rad s njima.

Pythonova biblioteka Arcade pruža besprijekoran i intuitivan način za uključivanje spriteova u vaše razvojne projekte igara. Spriteovi su bitni elementi koji vašim igrama donose vizualnu privlačnost, interaktivnost i dinamično kretanje.

S Arcadeovom jednostavnom sintaksom i snažnom funkcionalnošću, dodavanje duhova postaje povjetarac. Knjižnica vam omogućuje da bez napora poboljšate svoje igre zadivljujućim likovima i predmetima.

Stvaranje jednostavne igre

Kôd korišten u ovom članku dostupan je u ovom GitHub spremište i besplatan je za korištenje pod MIT licencom.

Prije početka provjerite imate li pip instaliran na vašem uređaju. Upotrijebite ovu naredbu za instaliranje biblioteke arkadnih igara:

pip instaliraj arkadu

Započnite stvaranjem jednostavne igre pomoću Python Arcade knjižnice. U ovoj igri igrač će se moći pomicati lijevo i desno.

Napravite klasu MyGame koja nasljeđuje od

instagram viewer
arkada. Prozor. Nakon toga definirajte metodu postavljanja za inicijaliziranje varijabli i izvlačenje metoda za crtanje objekata igre. The na_pritisak_tipke metoda omogućuje igraču da pomiče plavi pravokutnik lijevo ili desno.

Evo koda za vašu osnovnu igru:

uvoz arkada

SCREEN_WIDTH = 640
VISINA_EKRANA = 480

razredaMoja Igra(arkada. Prozor):
def__u tome__(ja, širina, visina):
super().__init__(širina, visina)
arcade.set_background_color (arcade.color. BIJELA)

defpostaviti(sebe):
self.player_x = 320

defizvlačenje(sebe):
arcade.start_render()
arcade.draw_rectangle_filled (self.player_x, 50, 50, 50, arkada.boja. PLAVA)

defna_pritisak_tipke(ja, ključ, modifikatori):
ako ključ == arkada.ključ. LIJEVO:
self.player_x -= 10
elif ključ == arkada.ključ. PRAVO:
self.player_x += 10

defglavni():
igra = MyGame (SCREEN_WIDTH, SCREEN_HEIGHT)
game.setup()
arkada.run()

ako __ime__ == "__glavni__":
glavni()

Kako dodati spriteove u svoju igru

Sada kada imate jednostavnu igru ​​koja radi, vrijeme je da je poboljšate dodavanjem spriteova. Spriteove možete izraditi pomoću arkada. Sprite razreda. Možete učitati slike koje predstavljaju vaše spriteove i koristiti ih u igri.

Učitajte slikovnu datoteku pod nazivom igrač.png da biste stvorili duh svog igrača. Postavite početni položaj spritea na središte zaslona. u izvlačenje način, nacrtajte duh igrača pomoću funkcije crtanja.

razredaMoja Igra(arkada. Prozor):
def__u tome__(ja, širina, visina):
super().__init__(širina, visina)
arcade.set_background_color (arcade.color. BIJELA)
self.player_sprite = Nijedan

defpostaviti(sebe):
self.player_sprite = arkada. Sprite ("player.png")
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = SCREEN_HEIGHT // 2

defizvlačenje(sebe):
arcade.start_render()
self.player_sprite.draw()

defna_pritisak_tipke(ja, ključ, modifikatori):
ako ključ == arkada.ključ. LIJEVO:
self.player_sprite.change_x = -5
elif ključ == arkada.ključ. PRAVO:
self.player_sprite.change_x = 5

defAžuriraj(sam, delta_vrijeme):
self.player_sprite.update()

Dodatne značajke Sprite

Sprites u Arcade nude značajke izvan osnovnog kretanja. Na primjer, možete promijeniti veličinu spritea postavljanjem njegovog atributa mjerila.

Možete postaviti atribut skale spritea igrača na 0,5, kako bi bio upola manji od izvorne veličine.

razredaMoja Igra(arkada. Prozor):
defpostaviti(sebe):
self.player_sprite = arkada. Sprite ("player.png", mjerilo=0.5)

Kontrola pokreta Sprite

Duhovi u Arcade pružaju različite načine za kontrolirati kretanje igrača. Osim toga promjena_x atribut, možete koristiti promjena_y atribut za kontrolu okomitog kretanja. Za složenije obrasce pokreta također možete koristiti promjena_kuta atribut za rotiranje duha.

self.player_sprite.change_angle = ROTATION_SPEED

Kombiniranjem ovih atributa s unosom tipkovnice ili miša, možete stvoriti dinamične i osjetljive kontrole pokreta za svoje spriteove u igri.

Dodavanje detekcije sudara s spriteovima

Otkrivanje sudara ključno je u mnogim igrama. Uz Arcade, možete lako otkriti sudare između spriteova pomoću arkada.provjeri_sudar funkcija. Modificirajmo kod tako da uključi otkrivanje sudara između spritea igrača i drugog pozvanog spritea prepreka.png:

razredaMoja Igra(arkada. Prozor):
def__u tome__(ja, širina, visina):
super().__init__(širina, visina)
arcade.set_background_color (arcade.color. BIJELA)
self.player_sprite = Nijedan

defpostaviti(sebe):
self.player_sprite = arkada. Sprite ("player.png", mjerilo=0.1)
self.obstacle_sprite = arkada. Sprite ("prepreka.png", mjerilo = 0.1)
self.obstacle_sprite.center_x = SCREEN_WIDTH
self.obstacle_sprite.center_y = VISINA_EKRANA // 2
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = SCREEN_HEIGHT // 2

defizvlačenje(sebe):
arcade.start_render()
self.player_sprite.draw()
self.obstacle_sprite.draw()

defna_pritisak_tipke(ja, ključ, modifikatori):
ako ključ == arkada.ključ. LIJEVO:
self.player_sprite.change_x = -5
elif ključ == arkada.ključ. PRAVO:
self.player_sprite.change_x = 5

defAžuriraj(sam, delta_vrijeme):
self.player_sprite.update()
self.obstacle_sprite.update()

ako arcade.check_for_collision (self.player_sprite, self.obstacle_sprite):
ispis("Otkriven sudar!")

Učinite svoje igre privlačnijim uz Spriteove

Spriteovi čine da likovi, objekti i animacije izgledaju stvarno i uzbudljivo. Mogu se kretati, sudarati i komunicirati s drugim stvarima u vašoj igri, što je čini realističnijom i zabavnijom.

Koristeći spriteove, možete kreirati igre koje drže igrače zainteresiranima i žele igrati više. Sprites otvaraju svijet mogućnosti za stvaranje privlačnih i nezaboravnih igara.