Arendage oma Godoti mängude jaoks kaasahaaravat mängukeskkonda põnevate animatsioonidega.

Mänguarenduses mängivad animatsioonid mängijate jaoks kaasahaarava ja kaasahaarava kogemuse loomisel otsustavat rolli. 2D-animatsioonide lisamine oma Godoti mängule võib teie tegelasi ja keskkondi ellu äratada, muutes need visuaalselt atraktiivsemaks ja interaktiivsemaks.

Õnneks pakub Godot võimsaid tööriistu ja funktsioone 2D-animatsioonide hõlpsaks loomiseks ja juhtimiseks.

Godot' mängu seadistamine

Alustuseks seadistage 2D-mängu põhistseen Godoti mängumootor. Looge uus stseen ja lisage a KinematicBody2D sõlm kui mängija tegelane. Sees KinematicBody2D, Lisa Kokkupõrkekuju2D ristküliku kujuga, mis tähistab mängija kokkupõrke piire.

Selles artiklis kasutatud kood on saadaval selles GitHubi hoidla ja seda saate MIT-i litsentsi alusel tasuta kasutada.

Lisaks lisage an AnimatedSprite sõlm mängija animatsioonide haldamiseks. Lisaks veenduge, et kaardistate järgmised sisestustoimingud Sisendkaart:

Järgmisena kirjutage mängija liikumise juhtimiseks GDScripti kood. Kinnitage järgmine skript

instagram viewer
KinematicBody2D sõlm:

 pikendab KinematicBody2Dconst SPEED = 200func _physics_process (delta): var kiirus = Vector2.ZERO if Input.is_action_pressed("move_left"): kiirus.x -= SPEED, kui Input.is_action_pressed("move_right"): kiirus.x += KIIRUS, kui Input.is_action_pressed("liigu_üles"): kiirus.y -= KIIRUS, kui sisend.is_action_pressed("liiguta_alla"): kiirus.y += KIIRUS kiirus = move_and_slide (kiirus)

See skript seadistab mängija jaoks konstantse kiiruse ja võimaldab neil liikuda vasakule, paremale, üles ja alla, kasutades noolenuppe või WASD-d.

SpriteSheeti lisamine AnimatedSprite'is

Nüüd konfigureerige AnimatedSprite et kasutada animatsioonide jaoks sprite-lehte. Valige AnimatedSprite sõlme ja navigeerige Raamid jaotist sõlme atribuutide vahekaardil. Siin klõpsake nuppu Uued SpriteFrame'id nuppu.

Lülituge valikule SpriteFrames vahekaart, mis asub Godoti redaktori allosas. Aastal SpriteFrames vahekaardil klõpsake nuppu Uus animatsioon nuppu. Loo animatsioone nagu kõndima ja tühikäigul lisades igale animatsioonile sobivad kaadrid.

Lisaks on teil võimalus luua muid animatsioone, nagu pildistamine, hüppamine ja ronimine platvormimängu jaoks. Pärast seda klõpsake nuppu Lisage raamid SpriteSheetist nuppu üksikute kaadrite automaatseks eraldamiseks sprite lehelt.

Animatsioonide juhtimine GDScripti abil

Nüüd, kui olete oma animatsioonid seadistanud, saate neid GDScripti abil programmiliselt juhtida.

Animatsiooni esitamine ja peatamine

Animatsioonide taasesituse juhtimine on mängus dünaamilise ja interaktiivse kogemuse pakkumiseks hädavajalik. The AnimatedSprite Godoti sõlm pakub meetodeid animatsioonide esitamiseks ja peatamiseks vastavalt teie mänguloogikale.

Laiendage KinematicBody2D sõlme ja hallata animatsiooni juhtelementi _füüsika_protsess funktsiooni. Võite kasutada play_animation ja stop_animation sisendid vastavate animatsioonitoimingute käivitamiseks.

 laiendab KinematicBody2Dfunc _physics_process (delta): # Esita animatsioon, kui Input.is_action_just_pressed("play_animation"): $AnimatedSprite.play() # Peatage animatsioon ja lähtestage esimene kaader, kui Input.is_action_just_pressed("stop_animation"): $AnimatedSprite.stop() $AnimatedSprite.frame = 0

Sobivate sisestustoimingute kaardistamise abil saate mängijatele oma mängus animatsiooni taasesituse üle juhtida.

Näiteks võite siduda play_animation toimingut nupuvajutusega või konkreetse sündmusega teie mängus, mis võimaldab mängijal soovitud hetkel animatsiooni jada käivitada. Lisaks saate leida autoriõigusteta muusikat mängida animatsiooni töötamise ajal.

Samamoodi saate käivitada stop_animation toimingud animatsiooni täielikuks peatamiseks.

Nende animatsiooni juhtimismehhanismide kaasamisega saate lisada oma mängu animatsioonidele sügavust ja interaktiivsust, luues mängijatele kaasahaaravama ja kaasahaaravama kogemuse.

Animatsiooni pööramine

Animatsiooni pööramine võib teie mängule visuaalset huvi ja mitmekesisust lisada. Saate programmiliselt pöörata AnimatedSprite sõlm, et muuta animatsiooni orientatsiooni. Pööramist kraadides saate rakendada, kasutades nuppu pööra() meetod.

 laiendab KinematicBody2Dfunc _physics_process (delta): if Input.is_action_just_pressed("rotate_animation"): # Pöörake animatsiooni 45 kraadi päripäeva $AnimatedSprite.rotate (deg2rad (45))

Kui vajutate nupuga seotud nuppe pööra_animatsiooni (selle toimingu saate oma sisestuskaardil määratleda), pööra() meetodit kutsutakse AnimatedSprite sõlm. See pöörab sõlme 45 kraadi võrra päripäeva kasutades deg2rad() kraadide teisendamiseks radiaanideks.

Pidage meeles, et see rakendab pööramist kogu AnimatedSprite sõlm, sealhulgas kõik animatsiooni kaadrid. Seetõttu, kui soovite pöörata ainult teatud kaadreid, peate võib-olla need eraldi jagama AnimatedSprite sõlmede või muid tehnikaid, näiteks üksikute kaadrite ümberpööramist.

Animatsiooni ümberpööramine

Animatsiooni horisontaal- või vertikaalsuunas pööramine võib olla kasulik märkide suuna muutuste kajastamiseks. Godot's on AnimatedSprite sõlm pakub ümberpööramise juhtimise omadusi.

Animatsiooni horisontaalseks pööramiseks seadke flip_h vara AnimatedSprite juurde tõsi. See peegeldab animatsiooni piki horisontaaltelge. Samamoodi seadistades flip_v vara juurde tõsi peegeldab animatsiooni piki vertikaaltelge.

 laiendab KinematicBody2Dfunc _physics_process (delta): kui Input.is_action_just_pressed("flip_animation"): $AnimatedSprite.flip_h = true # või $AnimatedSprite.flip_v = tõsi vertikaalse pööramise korral

Kui mängija vajutab nuppu flip_animation sisestustoiming ja seejärel määrake flip_h vara AnimatedSprite juurde tõsi. See pöörab animatsiooni horisontaalselt.

Signaalide kasutamine AnimatedSprite'is

Lisaks animatsioonide programmilisele juhtimisele pakub Godot võimsat sündmustesüsteemi, mida nimetatakse signaalideks. Signaalid võimaldavad teil reageerida konkreetsetele sündmustele või muudatustele, mis teie mängu ajal toimuvad.

Juhul kui AnimatedSprite, on kaks olulist signaali, mida saate kasutada: animatsioon_lõpetatud() ja frame_changed().

1. animation_finished() Signaal

The animatsioon_lõpetatud() signaal väljastatakse siis, kui animatsioon jõuab viimase kaadrini kas ühe taasesituse või silmuse ajal. See signaal on kasulik, kui soovite animatsiooni lõppedes sooritada toiminguid või käivitada sündmusi.

 laiendab KinematicBody2Dfunc _ready(): $AnimatedSprite.connect("animation_finished", self, "_on_animation_finished")func _on_animation_finished(): # Tehke toiminguid või käivitage sündmused print("Animatsioon valmis!") # Lisakood siin...

Ühendage animatsioon_lõpetatud() signaal AnimatedSprite juurde _on_animation_finished() meetod samas skriptis, kasutades ühenda () funktsiooni.

Kui animatsiooni esitamine on lõppenud, saate käivitada kohandatud loogika või käivitada muid funktsioone kasutades _on_animation_finished() meetod.

2. frame_changed() Signaal

The frame_changed() signaal väljastatakse alati, kui animatsiooni praegune kaader muutub. See võib juhtuda animatsiooni esitamisel või kaadrit programmiliselt muutes. Saate seda signaali kasutada kaadri muutuste tuvastamiseks ja sellele vastavalt reageerimiseks.

 laiendab KinematicBody2Dfunc _ready(): $AnimatedSprite.connect("frame_changed", self, "_on_frame_changed")func _on_frame_changed(): # Tehke toiminguid praeguse kaadri alusel var currentFrame = $AnimatedSprite.frame print("Praegune kaader: ", currentFrame) # Lisakood siin...

Ühendage frame_changed() signaal AnimatedSprite juurde _on_frame_changed() meetod samas skriptis. Kui raam muutub, pääsete praegusele kaadrile juurde, kasutades nuppu _on_frame_changed() meetodit ja sooritada toiminguid või loogikat, mis põhinevad kaadri väärtusel.

Signaale kasutades saate reageerida animatsioonisündmustele, nagu lõpetamine või kaadri muudatused, ning kaasata dünaamilist käitumist või käivitada oma mängus konkreetseid toiminguid.

Muutke Godoti mängud animatsioonide abil kaasahaaravamaks

2D-animatsioonide lisamine oma Godoti mängudele võib oluliselt parandada mängija üldist kogemust. Animatsioonid äratavad tegelased ellu, muutes nende liigutused ja tegevused visuaalselt atraktiivsemaks. Lisades animatsioone erinevate toimingute jaoks, nagu kõndimine, jooksmine, ründamine ja hüppamine, saate luua dünaamilise ja kaasahaarava mängukeskkonna.

Lisaks saate mängijale visuaalse tagasiside andmiseks kasutada ka animatsioone. See tagasiside aitab muuta mängu kaasahaaravamaks ja reageerivamaks, suurendades mängija kontrolli- ja kaasamistunnet.