Daugelyje žaidimų naudojami spraitai žaidėjo personažui ar priešams reprezentuoti. Sužinokite, kaip „Python's Arcade“ biblioteka palengvina jų darbą.
Python Arcade biblioteka suteikia sklandų ir intuityvų būdą įtraukti sprites į žaidimų kūrimo projektus. „Sprite“ yra esminiai elementai, suteikiantys jūsų žaidimams vizualinio patrauklumo, interaktyvumo ir dinamiško judėjimo.
Dėl paprastos „Arcade“ sintaksės ir galingų funkcijų „Spraite“ pridėjimas tampa paprastas. Biblioteka leidžia be vargo patobulinti žaidimus žavingais personažais ir objektais.
Paprasto žaidimo kūrimas
Šiame straipsnyje naudojamas kodas pateikiamas čia GitHub saugykla ir jūs galite nemokamai naudotis pagal MIT licenciją.
Prieš pradėdami įsitikinkite, kad turite pip įdiegtas jūsų įrenginyje. Norėdami įdiegti arkadų biblioteką, naudokite šią komandą:
pip diegimo pasažas
Pradėkite kurdami paprastą žaidimą naudodami Python's Arcade biblioteką. Šiame žaidime žaidėjas galės judėti į kairę ir į dešinę.
Sukurkite MyGame klasę, kuri paveldima iš
arkada. Langas. Po to nustatykite sąrankos metodą kintamiesiems inicijuoti ir on_draw žaidimo objektų piešimo būdas. The yra_key_press Šis metodas leidžia žaidėjui perkelti mėlyną stačiakampį į kairę arba į dešinę.Štai jūsų pagrindinio žaidimo kodas:
importuoti arkada
SCREEN_WIDTH = 640
SCREEN_HEIGHT = 480klasėMano žaidimas(arkada. Langas):
def__init__(savaime, plotis, aukštis):
super().__init__(plotis, aukštis)
arcade.set_background_color (arcade.color. BALTAS)
defsąranka(savarankiškai):
self.player_x = 320
defon_draw(savarankiškai):
arcade.start_render()
arcade.draw_rectangle_filled (self.player_x, 50, 50, 50, arcade.color. MĖLYNA)
defyra_key_press(savaime, raktas, modifikatoriai):
jeigu raktas == arcade.key. KAIRĖ:
self.player_x -= 10
elifas raktas == arcade.key. DEŠINĖJE:
self.player_x += 10defpagrindinis():
žaidimas = MyGame (SCREEN_WIDTH, SCREEN_HEIGHT)
game.setup()
arcade.run()
jeigu __vardas__ == "__pagrindinis__":
pagrindinis ()
Kaip pridėti „Sprite“ į savo žaidimą
Dabar, kai veikia paprastas žaidimas, laikas jį patobulinti pridedant keletą „spraite“. Galite sukurti sprites naudodami arkada. Sprite klasė. Galite įkelti vaizdus, kurie reprezentuoja savo spritus, ir naudoti juos žaidime.
Įkelkite vaizdo failą pavadinimu grotuvas.png kad sukurtumėte savo grotuvo sprite. Nustatykite pradinę sprite padėtį ekrano centre. Viduje on_draw metodu, nupieškite žaidėjo sprite naudodami piešimo funkciją.
klasėMano žaidimas(arkada. Langas):
def__init__(savaime, plotis, aukštis):
super().__init__(plotis, aukštis)
arcade.set_background_color (arcade.color. BALTAS)
self.player_sprite = Nė vienas
defsąranka(savarankiškai):
self.player_sprite = arkada. Sprite ("player.png")
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = EKRANO AUKŠTIS // 2
defon_draw(savarankiškai):
arcade.start_render()
self.player_sprite.draw()
defyra_key_press(savaime, raktas, modifikatoriai):
jeigu raktas == arcade.key. KAIRĖ:
self.player_sprite.change_x = -5
elifas raktas == arcade.key. DEŠINĖJE:
self.player_sprite.change_x = 5
defatnaujinti(savaime, delta_laikas):
self.player_sprite.update()
Papildomos „Sprite“ funkcijos
„Sprite in Arcade“ siūlo ne tik pagrindinio judėjimo funkcijas. Pavyzdžiui, galite pakeisti sprite dydį nustatydami jo mastelio atributą.
Galite nustatyti grotuvo sprite mastelio atributą iki 0,5, kad jis būtų perpus mažesnis už pradinį dydį.
klasėMano žaidimas(arkada. Langas):
defsąranka(savarankiškai):
self.player_sprite = arkada. Sprite ("player.png", skalė=0.5)
„Sprite“ judėjimo valdymas
„Sprite“ arkadoje siūlo įvairius būdus valdyti žaidėjo judėjimą. Be to, keisti_x atributą, galite naudoti keisti_y atributas vertikaliam judėjimui valdyti. Sudėtingesniems judesių modeliams taip pat galite naudoti keisti_kampą atributas pasukti sprite.
self.player_sprite.change_angle = ROTATION_SPEED
Sujungę šiuos atributus su klaviatūros arba pelės įvestimi, galite sukurti dinamiškus ir reaguojančius žaidimų valdiklius.
Susidūrimo aptikimo su „Sprite“ pridėjimas
Susidūrimų aptikimas yra labai svarbus daugelyje žaidimų. Naudodami „Arcade“ galite lengvai aptikti spritų susidūrimus naudodami arcade.check_for_collision funkcija. Modifikuokime kodą, kad aptiktų žaidėjo sprite ir kito vadinamo sprite susidūrimo aptikimą kliūtis.png:
klasėMano žaidimas(arkada. Langas):
def__init__(savaime, plotis, aukštis):
super().__init__(plotis, aukštis)
arcade.set_background_color (arcade.color. BALTAS)
self.player_sprite = Nė vienas
defsąranka(savarankiškai):
self.player_sprite = arkada. Sprite ("player.png", skalė=0.1)
self.obstacle_sprite = arkada. Sprite ("obstacle.png", skalė = 0.1)
self.obstacle_sprite.center_x = EKRANO_PLOTIS
self.obstacle_sprite.center_y = SCREEN_HEIGHT // 2
self.player_sprite.center_x = SCREEN_WIDTH // 2
self.player_sprite.center_y = EKRANO AUKŠTIS // 2
defon_draw(savarankiškai):
arcade.start_render()
self.player_sprite.draw()
self.obstacle_sprite.draw()
defyra_key_press(savaime, raktas, modifikatoriai):
jeigu raktas == arcade.key. KAIRĖ:
self.player_sprite.change_x = -5
elifas raktas == arcade.key. DEŠINĖJE:
self.player_sprite.change_x = 5
defatnaujinti(savaime, delta_laikas):
self.player_sprite.update()
self.obstacle_sprite.update()
jeigu arcade.check_for_collision (self.player_sprite, self.obstacle_sprite):
spausdinti ("Aptiktas susidūrimas!")
Padarykite savo žaidimus patrauklesnius naudodami „Sprite“.
Dėl „Sprite“ personažai, objektai ir animacijos atrodo tikri ir jaudinantys. Jie gali judėti, susidurti ir sąveikauti su kitais žaidimo dalykais, todėl žaidimas atrodo tikroviškesnis ir linksmesnis.
Naudodami sprites galite kurti žaidimus, kurie sudomintų žaidėjus ir norėtų žaisti daugiau. Sprites atveria galimybių pasaulį kurti patrauklius ir įsimintinus žaidimus.