Daudzas spēles izmanto spraitus, lai attēlotu spēlētāja raksturu vai ienaidniekus. Uzziniet, kā Python Arcade bibliotēka atvieglo darbu ar tiem.
Python Arcade bibliotēka nodrošina netraucētu un intuitīvu veidu, kā iekļaut spraitus savos spēļu izstrādes projektos. Sprites ir būtiski elementi, kas jūsu spēlēm piešķir vizuālu pievilcību, interaktivitāti un dinamisku kustību.
Izmantojot Arcade vienkāršo sintaksi un jaudīgo funkcionalitāti, spraitu pievienošana kļūst vienkārša. Bibliotēka ļauj bez piepūles uzlabot spēles ar valdzinošiem varoņiem un objektiem.
Vienkāršas spēles izveide
Šajā rakstā izmantotais kods ir pieejams šajā GitHub repozitorijs un to varat izmantot bez maksas saskaņā ar MIT licenci.
Pirms sākat, pārliecinieties, ka jums ir pip ir instalēts jūsu ierīcē. Izmantojiet šo komandu, lai instalētu arkādes bibliotēku:
pip instalēšanas arkāde
Sāciet, izveidojot vienkāršu spēli, izmantojot Python Arcade bibliotēku. Šajā spēlē spēlētājs varēs pārvietoties pa kreisi un pa labi.
Izveidojiet MyGame klasi, kas manto no
arkāde. Logs. Pēc tam definējiet iestatīšanas metodi, lai inicializētu mainīgos un on_draw Spēles objektu zīmēšanas metode. The on_key_press metode ļauj spēlētājam pārvietot zilo taisnstūri pa kreisi vai pa labi.Šeit ir jūsu pamata spēles kods:
imports arkāde
SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480klasēMana spēle(pasāža. logs):
def__tajā__(pats, platums, augstums):
super().__init__(platums, augstums)
arcade.set_background_color (arcade.color. BALTS)
defuzstādīt(pats):
self.player_x = 320
defon_draw(pats):
arcade.start_render()
arcade.draw_rectangle_filled (self.player_x, 50, 50, 50, arcade.color. ZILS)
defon_key_press(pašs, atslēga, modifikatori):
ja taustiņš == arcade.key. PA kreisi:
self.player_x -= 10
elifs taustiņš == arcade.key. PA LABI:
self.player_x += 10defgalvenais():
spēle = MyGame (SCREEN_WIDTH, SCREEN_HEIGHT)
game.setup()
arcade.run()
ja __nosaukums__ == "__galvenais__":
galvenais ()
Kā savai spēlei pievienot spraitus
Tagad, kad darbojas vienkārša spēle, ir pienācis laiks to uzlabot, pievienojot dažus spraitus. Jūs varat izveidot spraitus, izmantojot arkāde. Sprite klasē. Varat ielādēt attēlus, lai attēlotu savus spraitus, un izmantot tos savā spēlē.
Ielādējiet attēla failu ar nosaukumu player.png lai izveidotu savu atskaņotāja spritu. Iestatiet sprite sākotnējo pozīciju ekrāna centrā. Iekš on_draw metodi, uzzīmējiet spēlētāja spritu, izmantojot vilkšanas funkciju.
klasēMana spēle(pasāža. logs):
def__tajā__(pats, platums, augstums):
super().__init__(platums, augstums)
arcade.set_background_color (arcade.color. BALTS)
self.player_sprite = Nav
defuzstādīt(pats):
self.player_sprite = arkāde. Sprite("player.png")
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = EKRĀNA_AUGSTUMS // 2
defon_draw(pats):
arcade.start_render()
self.player_sprite.draw()
defon_key_press(pašs, atslēga, modifikatori):
ja taustiņš == arcade.key. PA kreisi:
self.player_sprite.change_x = -5
elifs taustiņš == arcade.key. PA LABI:
self.player_sprite.change_x = 5
defAtjaunināt(self, delta_time):
self.player_sprite.update()
Papildu Sprite funkcijas
Sprites in Arcade piedāvā funkcijas, kas pārsniedz pamata kustību. Piemēram, varat mainīt spraita izmēru, iestatot tā mēroga atribūtu.
Varat iestatīt atskaņotāja sprite mēroga atribūtu uz 0,5, lai tas būtu uz pusi mazāks par sākotnējo izmēru.
klasēMana spēle(pasāža. logs):
defuzstādīt(pats):
self.player_sprite = arkāde. Sprite("player.png", mērogs=0.5)
Sprite kustības kontrole
Sprites in Arcade nodrošina dažādus veidus, kā kontrolēt spēlētāja kustību. Bez tam mainīt_x atribūtu, varat izmantot mainīt_y atribūts vertikālās kustības kontrolei. Sarežģītākiem kustību modeļiem varat izmantot arī mainīt_leņķi atribūts, lai pagrieztu spraitu.
self.player_sprite.change_angle = ROTĀCIJAS_ĀTRUMS
Apvienojot šos atribūtus ar tastatūras vai peles ievadi, varat izveidot dinamiskas un atsaucīgas kustības vadīklas saviem spēļu spraitiem.
Sadursmju noteikšanas pievienošana ar sprite
Sadursmes noteikšana ir ļoti svarīga daudzās spēlēs. Izmantojot Arcade, jūs varat viegli noteikt spraitu sadursmes, izmantojot arcade.check_for_collision funkciju. Modificēsim kodu, lai iekļautu sadursmes noteikšanu starp atskaņotāja spritu un citu spraitu, ko sauc šķērslis.png:
klasēMana spēle(pasāža. logs):
def__tajā__(pats, platums, augstums):
super().__init__(platums, augstums)
arcade.set_background_color (arcade.color. BALTS)
self.player_sprite = Nav
defuzstādīt(pats):
self.player_sprite = arkāde. Sprite("player.png", mērogs=0.1)
self.obstacle_sprite = arkāde. Sprite("obstacle.png", mērogs = 0.1)
self.obstacle_sprite.center_x = EKRĀNA_PLATUMS
self.obstacle_sprite.center_y = EKRĀNA_AUGSTUMS // 2
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = EKRĀNA_AUGSTUMS // 2
defon_draw(pats):
arcade.start_render()
self.player_sprite.draw()
self.obstacle_sprite.draw()
defon_key_press(pašs, atslēga, modifikatori):
ja taustiņš == arcade.key. PA kreisi:
self.player_sprite.change_x = -5
elifs taustiņš == arcade.key. PA LABI:
self.player_sprite.change_x = 5
defAtjaunināt(self, delta_time):
self.player_sprite.update()
self.obstacle_sprite.update()
ja arcade.check_for_collision (self.player_sprite, self.obstacle_sprite):
drukāt ("Sadursme konstatēta!")
Padariet savas spēles saistošākas, izmantojot Sprites
Sprites padara varoņus, objektus un animācijas īstus un aizraujošus. Viņi var kustēties, sadurties un mijiedarboties ar citām jūsu spēlē esošām lietām, kas padara to reālistiskāku un jautrāku.
Izmantojot spraitus, varat izveidot spēles, kas nodrošina spēlētāju interesi un vēlmi spēlēt vairāk. Sprites paver iespēju pasauli, lai radītu saistošas un neaizmirstamas spēles.