Apgūstiet lēcienu mehānikas ieviešanu šajā vienkāršajā rokasgrāmatā. Iesim tajā iekšā!

Lēkšanas mehānika ir daudzu platformera spēļu būtisks aspekts, kas ļauj spēlētājiem pārvietoties pa šķēršļiem, sasniegt augstākas platformas un pievienot spēlei papildu interaktivitātes līmeni.

Godot, populārajā atvērtā pirmkoda spēļu dzinējā, lēkšanas mehānikas ieviešana ir samērā vienkārša un var ievērojami uzlabot spēles iesaistīšanos un baudījumu.

Godota spēles iestatīšana

Pirms iedziļināties lēkšanas mehānikas ieviešanā, iestatiet savas Godot spēles pamatstruktūru. Sāciet, izveidojot jaunu 2D projektu Godot. Ainā izveidojiet a KinematicBody2D mezglu kā spēlētāja raksturu. Pievienojiet a CollisionShape2D spēlētājam, definējot tā formu ar a Taisnstūra forma2D.

Šajā rakstā izmantotais kods ir pieejams šajā GitHub repozitorijs un to varat izmantot bez maksas saskaņā ar MIT licenci.

Turklāt iekļaujiet a Sprite2D lai attēlotu spēlētāju vizuāli. Izveidojiet dažas horizontālas un vertikālas platformas, izmantojot StaticBody2D spēles ainā, lai nodrošinātu kontekstu lēkšanas mehānikai.

instagram viewer

Pievienojiet kodu, lai ļautu spēlētājam pārvietoties pa kreisi un pa labi. Iekļaujiet arī gravitāciju, lai nodrošinātu reālistisku kustību. Tālāk ir sniegts GDScript koda fragmenta piemērs, lai sāktu darbu:

 paplašina KinematicBody2Dconst GRAVITY = 800const MOVE_SPEED = 200var ātrums = Vector2.ZEROfunc _physics_process (delta): var input_vector = Vector2.ZERO if Input.is_action_pressed("move_right"): input_vector.x += 1 if Input.is_action_pressed("move_left"): ievades_vektors.x -= 1 ātrums.y += GRAVITĀTE * delta ātrums = kustības_un_slīdēšana (ātrums, Vector2(0, -1)) ātrums.x = ievades_vektors.x * MOVE_SPEED

Izmantojiet ja-cits paziņojumus lai noteiktu atskaņotāja horizontālo kustību. Ja spēlētājs nospiež kusties pa labi, pievienojiet 1 ievades_vektors.x. Ja spēlētājs nospiež pārvietot_pa kreisi, atņemiet 1 no ievades_vektors.x. Šī pieeja nodrošina vienmērīgāku kustību kontroli un novērš iespējamos konfliktus, ja abas darbības tiek nospiestas vienlaicīgi.

Integrējiet vienkāršo lēcienu

Tagad pievienojiet savam atskaņotājam pamata lēciena funkciju. Spēlētājam jāspēj lēkt tikai tad, kad viņi atrodas uz platformas. Pievienojiet esošajam skriptam šādu kodu:

 const JUMP_FORCE = -400var is_on_floor = falsefunc _physics_process (delta):... is_on_floor = is_on_floor() if ir_on_floor un Input.is_action_just_pressed("lēciens"): ātrums.y = JUMP_FORCE

Izmantojot šo kodu, pārbaudiet, vai atskaņotājs atrodas platformā, izmantojot is_on_floor() funkciju. Kad atskaņotājs nospiež lēkt darbību, iestatiet vertikālo ātrumu uz lēciena spēka vērtību, liekot spēlētājam lēkt.

Integrējiet dubultlēcienu

Lai palielinātu lēcienu mehānikas daudzpusību, ieviesiet dubultlēkšanas funkciju. Spēlētājs varēs veikt otro lēcienu, atrodoties gaisā, ļaujot sasniegt vēl augstākas platformas. Šeit ir ieviešanas piemērs:

 const MAX_JUMP_COUNT = 3 var jump_count = 0func _physics_process (delta):... is_on_floor = is_on_floor() if ir_on_floor: jump_count = 0 var is_jumping = Input.is_action_just_pressed("lēciens") if ir_on_floor un is_jumping: ātrums.y = JUMP_FORCE lēcienu_skaits += 1, ja lēcienu_skaits < MAX_JUMP_COUNT un ir_lec: ātrums.y = JUMP_FORCE lēcienu_skaits += 1

Iepazīstināt a lēcienu_skaits mainīgais, lai sekotu līdzi spēlētāja veikto lēcienu skaitam. The MAX_JUMP_COUNT konstante nosaka maksimālo atļauto lēcienu skaitu. Spēlētājs var veikt otro lēcienu tikai tad, ja viņš joprojām ir maksimālā lēcienu skaita robežās.

Integrējiet Jump Dash

Lai padarītu lēcienu mehāniku aizraujošāku, ieviesiet lēciena domuzīmes funkciju. Šī funkcija ļaus spēlētājam ātri pārvietoties horizontāli, atrodoties gaisā, ļaujot viņam veikli pārvietoties pa šķēršļiem. Šeit ir ieviešanas piemērs:

 const DASH_FORCE = 4000var can_dash = truefunc _physics_process (delta):... is_on_floor = is_on_floor() if ir_on_floor: jump_count = 0 can_dash = true var is_jumping = Input.is_action_just_pressed("lēciens") var dash = Input.is_action_just_pressed("dash"), ja ir_on_floor un is_jumping: velocity.y = JUMP_FORCE lēcienu_skaits += 1, ja lēcienu_skaits < MAX_JUMP_COUNT un ir_lēciens: ātrums.y = JUMP_SPĒKS lēcienu_skaits += 1, ja can_dash un domuzīme: ātrums.x += DASH_FORCE can_dash = viltus

Iepazīstināt a can_dash mainīgais, lai izsekotu, vai spēlētājs var izpildīt domuzīmi. Kad atskaņotājs nospiež domuzīme darbību, pievienojiet horizontālu spēku (DASH_FORCE) līdz spēlētāja ātrumam, ļaujot viņam horizontāli slīdēt gaisā.

Ieskaitot papildu funkcijas

Papildus galvenajai lēkšanas mehānikai varat vēl vairāk uzlabot savu spēli, iekļaujot dažādas funkcijas. Tie var ietvert lēcienu spilventiņu vai atsperu ieviešanu pastiprinātiem lēcieniem, ieviešot jaudas palielinājumus, kas modificēt lēcienu uzvedību vai pievienot vizuālos efektus, piemēram, daļiņu sistēmas, lai lēktu dinamiskāk pieredze.

Lecas spilventiņi vai atsperes

Lai ieviestu lēcienu spilventiņus vai atsperes, kas nodrošina pastiprinātus lēcienus, varat pievienot konkrētus objektus savai spēles ainai un noteikt, kad spēlētājs ar tiem saduras. Šeit ir ieviešanas piemērs:

 const JUMP_PAD_FORCE = -800func _on_JumpPad_body_entered (body): if body == $Player: velocity.y = JUMP_PAD_FORCE

Šajā kodā JumpPad ir sadursmes objekts, kas novietots spēles ainā, un Spēlētājs ir spēlētāja rakstzīmes mezgla nosaukums. Kad spēlētājs saduras ar lēciena spilventiņu, tas izraisa pastiprinātu lēcienu, pieliekot spēlētājam lielāku vertikālo spēku.

Jaudas palielinājumi un īpašās spējas

Varat ieviest jaudas palielinājumus vai īpašas spējas, kas maina lēcienu mehānikas uzvedību. Piemēram, jūs varat izveidot jaudas palielinājumu, kas dod spēlētājam iespēju veikt trīskāršu lēcienu. Šeit ir ieviešanas piemērs:

 const MAX_JUMP_COUNT = 4funkcionāls _fizikas_process (delta):... ja ir_grīdā: lēcienu_skaits = 0, ja ir_grīdā un lec: ātrums.y = JUMP_SPĒKS lēcienu_skaits += 1, ja lēcienu_skaits < MAX_JUMP_COUNT un lec_skaitījums: ātrums.y = lēcienu_spēks += 1

Šajā kodā MAX_JUMP_COUNT konstante ir iestatīta uz 4, ļaujot spēlētājam veikt līdz trim secīgiem lēcieniem, kad ir aktivizēta ieslēgšana.

Vizuālie efekti

Lai padarītu lēkšanu vizuāli pievilcīgāku, varat pievienot daļiņu sistēmas vai citus vizuālos efektus. Piemēram, varat izveidot daļiņu sistēmu, kas izdala daļiņas, kad spēlētājs lec. Šeit ir ieviešanas piemērs:

 var jump_particles = preload("res://JumpParticles.tscn")func _physics_process (delta):... if ir_on_floor un Input.is_action_just_pressed("lēciens"): ātrums.y = JUMP_FORCE jump_daļiņas.instance()

Šajā kodā JumpParticles.tscn ir aina, kurā ir daļiņu sistēmas mezgls. Spēlētājam lecot, tiek izveidots daļiņu sistēmas eksemplārs, kā rezultātā tiek emitētas vizuāli pievilcīgas daļiņas.

Lēcienu mehānikas paraugprakse

Īstenojot lēcienu mehāniku Godot spēļu dzinējs, ir svarīgi apsvērt dažas paraugprakses:

  • Precīzi noregulējiet gravitācijas, lēciena spēka, domuzīmes spēka un citu parametru vērtības, lai iegūtu apmierinošu spēles sajūtu. Eksperimentēšana un iterācija ir ļoti svarīga, lai atrastu pareizo līdzsvaru.
  • Pārbaudiet un atkārtojiet lēcienu mehāniku, lai nodrošinātu, ka tā ir atsaucīga, intuitīva un līdzsvarota. Lūdziet atsauksmes no atskaņošanas testētājiem, lai uzlabotu mehāniku un veiktu nepieciešamos pielāgojumus.
  • Ieviesiet pareizu sadursmes noteikšanu, lai novērstu neparedzētu uzvedību un nodrošinātu, ka atskaņotājs pareizi mijiedarbojas ar platformām. Izmantojiet Godota sadursmes sistēmu un atbilstošus sadursmes slāņus, lai precīzi apstrādātu sadursmes.
  • Apsveriet pievienojot mūziku bez autortiesībām vai animācijas, lai uzlabotu spēlētāja izpratni par sava varoņa lēkšanas darbībām. Animācijas lēkšanai, lēkāšanai un citām saistītām darbībām var sniegt vizuālas norādes, kas uzlabo kopējo spēlētāja pieredzi.

Padariet spēles saistošākas, izmantojot lēcienu mehāniku

Iekļaujot savā Godot spēlē lēkšanas mehāniku, jūs varat ievērojami uzlabot tās iesaistīšanos un baudījumu. Lēkšana ļauj spēlētājiem pārvietoties sarežģītā vidē, pārvarēt šķēršļus un atklāt jaunas jomas.

Tas pievieno prasmju un precizitātes elementu, sniedzot sasnieguma sajūtu, ja tas tiek izpildīts pareizi. Turklāt, apvienojot lēcienu mehāniku ar citiem spēles elementiem, piemēram, mīklām, ienaidniekiem vai kolekcionējamus priekšmetus, varat izveidot unikālu un izaicinošu spēles pieredzi, kas ļauj spēlētājiem iegrimt un izklaidēja.