Paljud mängud kasutavad mängija iseloomu või vaenlaste esindamiseks spraite. Siit saate teada, kuidas Pythoni Arcade'i teek muudab nendega töötamise lihtsaks.

Pythoni Arcade'i teek pakub sujuvat ja intuitiivset viisi spraitide lisamiseks oma mänguarendusprojektidesse. Sprites on olulised elemendid, mis toovad teie mängudesse visuaalset atraktiivsust, interaktiivsust ja dünaamilist liikumist.

Arcade'i lihtsa süntaksi ja võimsa funktsionaalsusega muutub spraitide lisamine imelihtsaks. Teek võimaldab teil oma mänge vaevata täiustada kütkestavate tegelaste ja objektidega.

Lihtsa mängu loomine

Selles artiklis kasutatud kood on saadaval selles GitHubi hoidla ja seda saate MIT-i litsentsi alusel tasuta kasutada.

Enne alustamist veenduge, et teil on pip teie seadmesse installitud. Kasutage seda käsku arkaadteegi installimiseks:

pip install arkaad

Alustage lihtsa mängu loomisega Pythoni arkaadide teegi abil. Selles mängus saab mängija liikuda vasakule ja paremale.

Looge MyGame klass, mis pärib arkaad. Aken

instagram viewer
. Pärast seda määrake muutujate lähtestamiseks häälestusmeetod ja on_draw meetod mänguobjektide joonistamiseks. The on_key_press meetod võimaldab mängijal liigutada sinist ristkülikut vasakule või paremale.

Siin on teie põhimängu kood:

importida arkaad

SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480

klassMinu Mäng(arkaad. aken):
def__selles__(ise, laius, kõrgus):
super().__init__(laius, kõrgus)
arcade.set_background_color (arcade.color. VALGE)

defseadistamine(ise):
self.player_x = 320

defon_draw(ise):
arcade.start_render()
arcade.draw_rectangle_filled (self.player_x, 50, 50, 50, arcade.color. SININE)

defon_key_press(ise, võti, muutjad):
kui võti == arcade.key. VASAKULE:
self.player_x -= 10
elif võti == arcade.key. PAREMALE:
self.player_x += 10

defpeamine():
mäng = MyGame (SCREEN_WIDTH, SCREEN_HEIGHT)
game.setup()
arcade.run()

kui __nimi__ == "__main__":
peamine ()

Kuidas lisada oma mängule spraite

Nüüd, kui teil on lihtne mäng töökorras, on aeg seda täiustada, lisades mõned spraidid. Spraite saate luua kasutades arkaad. Sprite klass. Saate laadida pilte oma spraitide esindamiseks ja kasutada neid oma mängus.

Laadige pildifail nimega mängija.png oma mängija spraidi loomiseks. Määrake spraidi esialgne asukoht ekraani keskele. Aastal on_draw meetodil, joonistage mängija sprait, kasutades joonistusfunktsiooni.

klassMinu Mäng(arkaad. aken):
def__selles__(ise, laius, kõrgus):
super().__init__(laius, kõrgus)
arcade.set_background_color (arcade.color. VALGE)
self.player_sprite = Mitte ühtegi

defseadistamine(ise):
self.player_sprite = arkaad. Sprite("player.png")
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = EKRAANI_KÕRGUS // 2

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

defon_key_press(ise, võti, muutjad):
kui võti == arcade.key. VASAKULE:
self.player_sprite.change_x = -5
elif võti == arcade.key. PAREMALE:
self.player_sprite.change_x = 5

defvärskendada(ise, delta_aeg):
self.player_sprite.update()

Sprite'i lisafunktsioonid

Sprites in Arcade pakub funktsioone, mis on lisaks põhiliikumisele. Näiteks saate spraidi suurust muuta, määrates selle skaalaatribuudi.

Saate määrata pleieri spraidi skaala atribuudiks 0,5, et muuta see poole väiksemaks algsest suurusest.

klassMinu Mäng(arkaad. aken):
defseadistamine(ise):
self.player_sprite = arkaad. Sprite("player.png", skaala=0.5)

Sprite'i liikumise juhtimine

Sprites in Arcade pakuvad selleks erinevaid viise kontrollige mängija liikumist. Peale selle muuda_x atribuuti, saate kasutada atribuuti muutus_y atribuut vertikaalse liikumise juhtimiseks. Keerulisemate liikumismustrite jaoks võite kasutada ka nurga muutmine atribuut spraiti pööramiseks.

self.player_sprite.change_angle = PÖÖRLEMISKIIRUS

Kombineerides need atribuudid klaviatuuri või hiire sisendiga, saate luua dünaamilisi ja reageerivaid liikumisjuhtelemente oma mänguspiididele.

Kokkupõrketuvastuse lisamine Sprite'iga

Kokkupõrke tuvastamine on paljudes mängudes ülioluline. Arcade abil saate hõlpsalt tuvastada spraitide vahelisi kokkupõrkeid arcade.check_for_collision funktsiooni. Muutkem koodi nii, et see hõlmaks kokkupõrketuvastust mängija spraidi ja teise nimega spraidi vahel takistus.png:

klassMinu Mäng(arkaad. aken):
def__selles__(ise, laius, kõrgus):
super().__init__(laius, kõrgus)
arcade.set_background_color (arcade.color. VALGE)
self.player_sprite = Mitte ühtegi

defseadistamine(ise):
self.player_sprite = arkaad. Sprite("player.png", skaala=0.1)
self.obstacle_sprite = arkaad. Sprite("obstacle.png", skaala = 0.1)
self.obstacle_sprite.center_x = EKRAANI_LAAIUS
self.obstacle_sprite.center_y = SCREEN_HEIGHT // 2
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = EKRAANI_KÕRGUS // 2

defon_draw(ise):
arcade.start_render()
self.player_sprite.draw()
self.obstacle_sprite.draw()

defon_key_press(ise, võti, muutjad):
kui võti == arcade.key. VASAKULE:
self.player_sprite.change_x = -5
elif võti == arcade.key. PAREMALE:
self.player_sprite.change_x = 5

defvärskendada(ise, delta_aeg):
self.player_sprite.update()
self.obstacle_sprite.update()

kui arcade.check_for_collision (self.player_sprite, self.obstacle_sprite):
print("Kokkupõrge tuvastatud!")

Muutke oma mängud Sprite'idega kaasahaaravamaks

Sprite'id muudavad tegelased, objektid ja animatsioonid tõepäraseks ja põnevaks. Need võivad teie mängus liikuda, kokku põrkuda ja muude asjadega suhelda, mis muudab selle realistlikumaks ja lõbusamaks.

Sprite'ide abil saate luua mänge, mis hoiavad mängijates huvi ja tahavad rohkem mängida. Sprite'id avavad võimaluste maailma kaasahaaravate ja meeldejäävate mängude loomiseks.