Lieciet savam galvenajam varonim kustēties, reaģējot uz spēlētāja ievadi, izmantojot Arcade bibliotēkas tastatūras un peles notikumus.
Arkāde ir populāra Python bibliotēka, ko varat izmantot, lai izveidotu 2D arkādes spēles. Tā ir ērti lietojama bibliotēka, kas nodrošina vienkāršu sistēmu spēļu izveidei ar Python.
Viena no jebkuras spēles būtiskajām sastāvdaļām ir spēlētāja kustība.
Vienkāršas spēles izveide programmā Arcade
Jūs varat atrast pilnu kods šajā GitHub repo.
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 bibliotēka
Pēc tam izveidojiet Player klasi kā apakšklasi arkāde. Sprite klase un a Mana spēle klase kā apakšklase arkāde. Logs. The Mana spēle klasei būs metodes, kā iestatīt spēles objektus, renderēt tos ekrānā, atjaunināt spēles stāvokli un apstrādāt lietotāja ievades. Spēles ekrāna un spēlētāja objekta izveides kods ir šāds:
imports arkāde
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600klasēSpēlētājs(pasāža. Sprite):
def__tajā__(pats):
super().__init__("player.png", 0.5)
self.center_x = SCREEN_WIDTH // 2
self.center_y = EKRĀNA_AUGSTUMS // 2klasēMana spēle(pasāža. logs):
def__tajā__(pats):
super().__init__(SCREEN_WIDTH, SCREEN_HEIGHT, "Mana spēle")
self.player = Nav
arcade.set_background_color (arcade.color. MELNS)defuzstādīt(pats):
self.player = Spēlētājs()defon_draw(pats):
arcade.start_render()
self.player.draw()defAtjaunināt(self, delta_time):
caurlaide
MyGame().run()
Spēlētāja kustību pievienošana ar tastatūras ievadi
Tagad, kad esat izveidojis spēles ekrānu un spēlētāja objektu, varat pārvietot atskaņotāju, reaģējot uz tastatūras ievadi. Definējiet on_key_press() un on_key_release() metodes, kuras jūs izsaucat, kad atskaņotājs nospiež vai atlaiž taustiņu.
defon_key_press(pašs, atslēga, modifikatori):
ja taustiņš == arcade.key. PA kreisi:
self.player.change_x = -5
elifs taustiņš == arcade.key. PA LABI:
self.player.change_x = 5
elifs taustiņš == arcade.key. UP:
self.player.change_y = 5
elifs taustiņš == arcade.key. UZ LEJU:
self.player.change_y = -5
defon_key_release(pašs, atslēga, modifikatori):
ja taustiņš == arcade.key. PA kreisi vai taustiņš == arcade.key. PA LABI:
self.player.change_x = 0
elifs taustiņš == arcade.key. UP vai taustiņš == arcade.key. UZ LEJU:
self.player.change_y = 0
Pievienojot atskaņotāja kustību ar tastatūras ievadiem, varat pielāgot kustības ātrumu, mainot piešķirto vērtību self.player.change_x un self.player.change_y. Varat arī pievienot nosacījumus, lai ierobežotu spēlētāju kustību spēles ekrānā.
Spēlētāja kustības pievienošana ar peles ievadi
Papildus tastatūras ievadēm varat arī pievienot atskaņotāja kustību, izmantojot peles ievadi. Definējiet on_mouse_motion() metode, kas darbosies, kad spēlētājs pārvieto peli. Metodes iekšpusē iestatiet centrs_x un centrs_y atskaņotāja objekta īpašības uz pašreizējo peles pozīciju.
defon_mouse_motion(self, x, y, dx, dy):
self.player.center_x = x
self.player.center_y = y
Pievienojot spēlētāja kustību ar peles ievadi, varat pielāgot atskaņotāja objekta uzvedību, kad lietotājs noklikšķina vai tur peli, definējot tādas metodes kā on_mouse_press() vai on_mouse_drag(). Varat izmantot šīs metodes, lai aktivizētu spēlētāja darbības, piemēram, šaušanu vai lēkšanu, atkarībā no spēles mehānikas.
Iepazīstinām ar papildu funkcijām
Varat vēl vairāk uzlabot spēlētāja kustību, ņemot vērā paātrinājumu un palēninājumu. Modificēt on_key_press() metode, kā atņemt vai pievienot mainīt_x un mainīt_y spēlētāja objekta īpašības atkarībā no kustības virziena. Iestatiet arī mainīt_x un mainīt_y rekvizītus uz 0 on_key_release() metode, tāpat kā iepriekš.
defon_key_press(pašs, atslēga, modifikatori):
ja taustiņš == arcade.key. PA kreisi:
self.player.change_x -= 5
elifs taustiņš == arcade.key. PA LABI:
self.player.change_x += 5
elifs taustiņš == arcade.key. UP:
self.player.change_y += 5
elifs taustiņš == arcade.key. UZ LEJU:
self.player.change_y -= 5
defon_key_release(pašs, atslēga, modifikatori):
ja taustiņš == arcade.key. PA kreisi vai taustiņš == arcade.key. PA LABI:
self.player.change_x = 0
elifs taustiņš == arcade.key. UP vai taustiņš == arcade.key. UZ LEJU:
self.player.change_y = 0
Tāpat kā PyGame, arī jūs varat pievienot sadursmes noteikšanu starp atskaņotāja objektu un citi spēles objekti, piemēram, ienaidnieki vai šķēršļi arkādē. To var panākt, pievienojot tālāk norādīto kodu Atjaunināt() metode Mana spēle klase:
defAtjaunināt(self, delta_time):
self.player.update()# Pārbaudiet, vai nav sadursmes starp spēlētāju un citiem spēles objektiem
sadursmes = arcade.check_for_collision_with_list (self.player, self.enemy_list)
priekš sadursme iekšā sadursmes:
sadursme.kill()
Izveidojiet saistošas spēles ar interaktīvo spēlētāju kustību
Interaktīvā spēlētāja kustība ir būtisks jebkuras aizraujošas spēles aspekts. Dažādu veidu kustību mehānikas izmantošana, piemēram, lēkšana, skriešana, lidošana un slīdēšana, var padarīt spēli daudzveidīgāku un aizraujošāku.
Sniedzot spēlētājiem kontroli pār savām kustībām, tiek pievienota rīcības brīvība un iedziļināšanās, kas var radīt apmierinošāku spēļu pieredzi.