Izveidojiet aizraujošu spēles vidi savām Godot spēlēm ar valdzinošām animācijām.

Spēļu izstrādē animācijām ir izšķiroša nozīme, radot spēlētājiem saistošu un ieskaujošu pieredzi. 2D animāciju pievienošana savai Godot spēlei var atdzīvināt jūsu varoņus un vidi, padarot tos vizuāli pievilcīgākus un interaktīvākus.

Par laimi Godot nodrošina jaudīgus rīkus un funkcijas, lai viegli izveidotu un kontrolētu 2D animācijas.

Godota spēles iestatīšana

Lai sāktu, iestatiet pamata 2D spēles ainu Godot spēļu dzinējs. Izveidojiet jaunu ainu un pievienojiet a KinematicBody2D mezglu kā spēlētāja raksturu. Iekšpusē KinematicBody2D, pievienojiet a CollisionShape2D ar taisnstūra formu, kas attēlo spēlētāja sadursmes robežas.

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

Turklāt pievienojiet an AnimatedSprite mezgls, lai apstrādātu atskaņotāja animācijas. Turklāt noteikti kartējiet tālāk norādītās ievades darbības Ievades karte:

Pēc tam ierakstiet GDScript kodu, lai kontrolētu atskaņotāja kustību. Pievienojiet tālāk norādīto skriptu

instagram viewer
KinematicBody2D mezgls:

 paplašina KinematicBody2Dconst SPEED = 200func _physics_process (delta): var ātrums = Vector2.ZERO if Input.is_action_pressed("move_left"): velocity.x -= SPEED, ja Input.is_action_pressed("move_right"): ātrums.x += ĀTRUMS, ja ievade.is_action_pressed("move_up"): ātrums.y -= ĀTRUMS, ja ievade.is_action_pressed("move_down"): ātrums.y += ĀTRUMS ātrums = Move_and_slide (ātrums)

Šis skripts atskaņotājam iestata nemainīgu ātrumu un ļauj viņiem pārvietoties pa kreisi, pa labi, uz augšu un uz leju, izmantojot bulttaustiņus vai WASD.

SpriteSheet pievienošana pakalpojumā AnimatedSprite

Tagad konfigurējiet AnimatedSprite lai animācijām izmantotu sprite lapu. Izvēlieties AnimatedSprite mezglu un dodieties uz Rāmji sadaļu mezgla rekvizītu cilnē. Šeit noklikšķiniet uz Jauni SpriteFrames pogu.

Pārslēdzieties uz SpriteFrames cilne, kas atrodas Godot redaktora apakšā. Iekš SpriteFrames cilnē noklikšķiniet uz Jauna animācija pogu. Izveidojiet animācijas, piemēram, staigāt un dīkstāvē pievienojot katrai animācijai atbilstošus kadrus.

Turklāt jums ir iespēja izveidot citas animācijas, piemēram, šaušanu, lēkšanu un kāpšanu platformera spēlei. Pēc tam noklikšķiniet uz Pievienojiet rāmjus no SpriteSheet pogu, lai automātiski izvilktu atsevišķus kadrus no sprite lapas.

Animāciju kontrole, izmantojot GDScript

Tagad, kad animācijas ir iestatītas, varat tās kontrolēt programmatiski, izmantojot GDScript.

Animācijas atskaņošana un apturēšana

Animāciju atskaņošanas kontrole ir būtiska, lai nodrošinātu dinamisku un interaktīvu spēles pieredzi. The AnimatedSprite Node in Godot piedāvā metodes, kā atskaņot un apturēt animācijas atbilstoši jūsu spēles loģikai.

Pagariniet KinematicBody2D mezglu un apstrādājiet animācijas vadīklu _fizikas_process funkciju. Jūs varat izmantot play_animation un stop_animācija ievades, lai aktivizētu atbilstošās animācijas darbības.

 paplašina KinematicBody2Dfunc _physics_process (delta): # Atskaņojiet animāciju, ja Input.is_action_just_pressed("play_animation"): $AnimatedSprite.play() # Apturiet animāciju un atiestatiet uz pirmo kadru, ja Input.is_action_just_pressed("stop_animation"): $AnimatedSprite.stop() $AnimatedSprite.frame = 0

Kartējot atbilstošās ievades darbības, varat nodrošināt spēlētājiem kontroli pār animācijas atskaņošanu savā spēlē.

Piemēram, jūs varētu saistīt play_animation darbība ar pogas nospiešanu vai konkrētu notikumu jūsu spēlē, ļaujot spēlētājam aktivizēt animācijas secību vēlamajā brīdī. Turklāt jūs varat atrodiet mūziku bez autortiesībām lai atskaņotu, kamēr darbojas animācija.

Tāpat jūs varat aktivizēt stop_animācija darbības, lai pilnībā apturētu animāciju.

Iekļaujot šos animācijas vadības mehānismus, varat pievienot savas spēles animācijām dziļumu un interaktivitāti, radot spēlētājiem saistošāku un aizraujošāku pieredzi.

Animācijas pagriešana

Animācijas pagriešana var pievienot jūsu spēlei vizuālu interesi un dažādību. Varat programmatiski pagriezt AnimatedSprite mezglu, lai mainītu animācijas orientāciju. Varat izmantot pagriešanu grādos, izmantojot pagriezt () metodi.

 paplašina KinematicBody2Dfunc _physics_process (delta): if Input.is_action_just_pressed("rotate_animation"): # Pagrieziet animāciju par 45 grādiem pulksteņrādītāja virzienā $AnimatedSprite.rotate (deg2rad (45))

Nospiežot pogas, kas saistītas ar rotate_animation (šo darbību varat definēt ievades kartē), pagriezt () metode tiek izsaukta AnimatedSprite mezgls. Tas pagriež mezglu par 45 grādiem pulksteņrādītāja virzienā, izmantojot deg2rad() lai pārvērstu grādus radiānos.

Ņemiet vērā, ka rotācija tiks piemērota visam AnimatedSprite mezgls, ieskaitot visus animācijas kadrus. Tāpēc, ja vēlaties pagriezt tikai noteiktus kadrus, iespējams, tie ir jāsadala atsevišķos AnimatedSprite mezglus vai izmantot citus paņēmienus, piemēram, atsevišķu kadru apvēršanu.

Animācijas apgriešana

Animācijas pagriešana horizontāli vai vertikāli var būt noderīga, lai atspoguļotu rakstzīmju virziena izmaiņas. Godotā, AnimatedSprite mezgls nodrošina rekvizītus, lai kontrolētu apvēršanu.

Lai apgrieztu animāciju horizontāli, iestatiet flip_h īpašums AnimatedSprite uz taisnība. Tas atspoguļos animāciju pa horizontālo asi. Līdzīgi, iestatot flip_v īpašumu uz taisnība atspoguļos animāciju gar vertikālo asi.

 paplašina KinematicBody2Dfunc _physics_process (delta): ja Input.is_action_just_pressed("flip_animation"): $AnimatedSprite.flip_h = true # vai $AnimatedSprite.flip_v = taisnība vertikālai apvēršanai

Ja atskaņotājs nospiež flip_animation ievades darbība, pēc tam iestatiet flip_h īpašums AnimatedSprite uz taisnība. Tādējādi animācija tiks apgriezta horizontāli.

Signālu izmantošana programmā AnimatedSprite

Papildus animāciju programmatiskai kontrolei Godot nodrošina spēcīgu notikumu sistēmu, ko sauc par signāliem. Signāli ļauj jums reaģēt uz konkrētiem notikumiem vai izmaiņām, kas notiek spēles izpildes laikā.

Gadījumā, ja AnimatedSprite, varat izmantot divus svarīgus signālus: animācija_pabeigta() un frame_changed().

1. animation_finished() Signāls

The animācija_pabeigta() signāls tiek izstarots, kad animācija sasniedz pēdējo kadru, vai nu vienas atskaņošanas laikā, vai arī tad, kad tā notiek. Šis signāls ir noderīgs, ja vēlaties veikt darbības vai aktivizēt notikumus, kad animācija ir pabeigta.

 paplašina KinematicBody2Dfunc _ready(): $AnimatedSprite.connect("animation_finished", self, "_on_animation_finished")func _on_animation_finished(): # Veikt darbības vai aktivizēt notikumus print("Animācija pabeigts!") # Papildu kods šeit...

Savienojiet animācija_pabeigta() signāls no AnimatedSprite uz _on_animation_finished() metodi tajā pašā skriptā, izmantojot savienot () funkciju.

Kad animācijas atskaņošana ir pabeigta, varat izpildīt pielāgotu loģiku vai aktivizēt citas funkcijas, izmantojot _on_animation_finished() metodi.

2. frame_changed() Signāls

The frame_changed() signāls tiek raidīts ikreiz, kad mainās pašreizējais animācijas kadrs. Tas var notikt, kad tiek atskaņota animācija vai programmatiski pārveidojat rāmi. Varat izmantot šo signālu, lai noteiktu kadru izmaiņas un attiecīgi reaģētu.

 paplašina KinematicBody2Dfunc _ready(): $AnimatedSprite.connect("frame_changed", self, "_on_frame_changed")func _on_frame_changed(): # Veikt darbības, pamatojoties uz pašreizējo kadru var currentFrame = $AnimatedSprite.frame print("Pašreizējais kadrs: ", currentFrame) # Papildu kods šeit...

Savienojiet frame_changed() signāls no AnimatedSprite uz _on_frame_changed() metode tajā pašā skriptā. Kad rāmis mainās, jūs varat piekļūt pašreizējam kadram, izmantojot _on_frame_changed() metodi un veikt darbības vai loģiku, pamatojoties uz kadra vērtību.

Izmantojot signālus, varat reaģēt uz animācijas notikumiem, piemēram, pabeigšanu vai kadru maiņu, un iekļaut dinamiskas darbības vai aktivizēt konkrētas darbības savā spēlē.

Padariet Godot spēles saistošākas, izmantojot animācijas

2D animāciju pievienošana savām Godot spēlēm var ievērojami uzlabot kopējo spēlētāja pieredzi. Animācijas atdzīvina varoņus, padarot viņu kustības un darbības vizuāli pievilcīgākas. Iekļaujot animācijas dažādām darbībām, piemēram, staigāšanai, skriešanai, uzbrukumam un lēkšanai, varat izveidot dinamisku un ieskaujošu spēles vidi.

Turklāt jūs varat arī izmantot animācijas, lai atskaņotājam sniegtu vizuālu atgriezenisko saiti. Šīs atsauksmes palīdz padarīt spēli saistošāku un atsaucīgāku, uzlabojot spēlētāja kontroles un iesaistīšanās sajūtu.