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
. 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 = 480klassMinu 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 += 10defpeamine():
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.