Kehitä mukaansatempaava peliympäristö Godot-peleillesi kiehtovilla animaatioilla.

Pelikehityksessä animaatioilla on keskeinen rooli pelaajien mukaansatempaavan ja mukaansatempaavan kokemuksen luomisessa. 2D-animaatioiden lisääminen Godot-peliisi voi herättää hahmosi ja ympäristösi henkiin, jolloin niistä tulee visuaalisesti houkuttelevampia ja interaktiivisempia.

Onneksi Godot tarjoaa tehokkaita työkaluja ja ominaisuuksia 2D-animaatioiden luomiseen ja ohjaamiseen helposti.

Godot-pelin perustaminen

Aloita määrittämällä perus 2D-pelikohtaus Godot-pelimoottori. Luo uusi kohtaus ja lisää a KinematicBody2D solmu pelaajahahmona. Sisällä KinematicBody2D, lisää CollisionShape2D suorakaiteen muotoinen, joka edustaa pelaajan törmäysrajoja.

Tässä artikkelissa käytetty koodi on saatavilla tässä GitHub-arkisto ja sen käyttö on ilmaista MIT-lisenssin alaisena.

Lisää lisäksi an AnimatedSprite solmu soittimen animaatioiden käsittelemiseksi. Varmista lisäksi, että kartoitat seuraavat syöttötoiminnot Syötä kartta:

instagram viewer

Kirjoita seuraavaksi GDScript-koodi ohjataksesi soittimen liikettä. Liitä seuraava komentosarja tiedostoon KinematicBody2D solmu:

 laajentaa KinematicBody2Dconst SPEED = 200func _physics_process (delta): var nopeus = Vector2.ZERO if Input.is_action_pressed("move_left"): velocity.x -= SPEED jos Input.is_action_pressed("move_right"): nopeus.x += NOPEUS, jos Input.is_action_pressed("move_up"): nopeus.y -= NOPEUS jos Input.is_action_pressed("siirrä_alas"): nopeus.y += NOPEUS nopeus = Move_and_slide (nopeus)

Tämä skripti asettaa pelaajalle vakionopeuden ja antaa heidän liikkua vasemmalle, oikealle, ylös ja alas nuolinäppäimillä tai WASD: llä.

SpriteSheetin lisääminen AnimatedSpriteen

Määritä nyt AnimatedSprite käyttää sprite-arkkia animaatioihin. Valitse AnimatedSprite solmu ja navigoi kohtaan Kehykset -osio solmun ominaisuudet -välilehdessä. Napsauta tästä Uudet SpriteFrame-kehykset -painiketta.

Vaihda kohtaan SpriteFrames -välilehti Godot-editorin alareunassa. Vuonna SpriteFrames -välilehteä, napsauta Uusi animaatio -painiketta. Luo animaatioita, kuten kävellä ja tyhjäkäynnillä lisäämällä sopivat kehykset jokaiseen animaatioon.

Lisäksi sinulla on mahdollisuus luoda muita animaatioita, kuten ammunta, hyppääminen ja kiipeily tasohyppelypeliä varten. Napsauta sen jälkeen Lisää kehyksiä SpriteSheetistä -painiketta, jolloin yksittäiset kehykset poistetaan automaattisesti sprite-arkista.

Animaatioiden hallinta GDScriptillä

Nyt kun animaatiot on määritetty, voit hallita niitä ohjelmallisesti GDScriptin avulla.

Animaation toistaminen ja pysäyttäminen

Animaatioiden toiston hallinta on välttämätöntä dynaamisten ja interaktiivisten pelikokemusten tarjoamiseksi. The AnimatedSprite solmu Godotissa tarjoaa tapoja pelata ja pysäyttää animaatioita pelilogiikkasi mukaisesti.

Laajenna KinematicBody2D solmu ja käsittele animaation ohjausta sisällä _fysiikka_prosessi toiminto. Voit käyttää play_animation ja stop_animation syötteitä vastaavien animaatiotoimintojen käynnistämiseksi.

 laajentaa KinematicBody2Dfunc _physics_process (delta): # Toista animaatio, jos Input.is_action_just_pressed("play_animation"): $AnimatedSprite.play() # Pysäytä animaatio ja palauta ensimmäinen ruutu, jos Input.is_action_just_pressed("stop_animation"): $AnimatedSprite.stop() $AnimatedSprite.frame = 0

Kartoittamalla sopivat syöttötoiminnot voit antaa pelaajille mahdollisuuden hallita animaation toistoa pelissäsi.

Voit esimerkiksi sitoa play_animation toiminto painikkeen painallukseen tai tiettyyn tapahtumaan pelissäsi, jolloin pelaaja voi käynnistää animaatiosarjan haluamallaan hetkellä. Lisäksi voit löytää tekijänoikeusvapaata musiikkia pelata animaation ollessa käynnissä.

Samalla tavalla voit laukaista stop_animation toimia animaation lopettamiseksi kokonaan.

Käyttämällä näitä animaatioiden ohjausmekanismeja voit lisätä pelisi animaatioihin syvyyttä ja interaktiivisuutta, mikä luo pelaajillesi kiinnostavampia ja mukaansatempaavampia kokemuksia.

Animaation pyörittäminen

Animaation pyörittäminen voi lisätä visuaalista mielenkiintoa ja vaihtelua peliisi. Voit kääntää ohjelmallisesti AnimatedSprite node muuttaaksesi animaation suuntaa. Voit käyttää kiertoa asteina käyttämällä kiertää() menetelmä.

 laajentaa KinematicBody2Dfunc _physics_process (delta): if Input.is_action_just_pressed("rotate_animation"): # Kierrä animaatiota 45 astetta myötäpäivään $AnimatedSprite.rotate (deg2rad (45))

Kun painat painikkeita, jotka liittyvät rotate_animation (voit määrittää tämän toiminnon syöttökartassasi), kiertää() menetelmää kutsutaan AnimatedSprite solmu. Se kiertää solmua 45 astetta myötäpäivään käyttämällä deg2rad() muuntaa asteet radiaaneiksi.

Muista, että se käyttää kiertoa koko AnimatedSprite solmu, mukaan lukien kaikki animaation kehykset. Siksi, jos haluat kiertää vain tiettyjä kehyksiä, saatat joutua jakamaan ne erillisiin AnimatedSprite solmuja tai muita tekniikoita, kuten yksittäisten kehysten kääntämistä.

Animaation kääntäminen

Animaation kääntäminen vaaka- tai pystysuunnassa voi olla hyödyllistä heijastaa muutoksia hahmojen suunnassa. Godotissa, AnimatedSprite solmu tarjoaa ominaisuuksia, joilla ohjataan kääntämistä.

Jos haluat kääntää animaation vaakasuunnassa, aseta flip_h omaisuutta AnimatedSprite to totta. Tämä peilaa animaation vaaka-akselilla. Samoin asettamalla flip_v omaisuutta totta heijastaa animaation pystyakselia pitkin.

 laajentaa KinematicBody2Dfunc _physics_process (delta): jos Input.is_action_just_pressed("flip_animation"): $AnimatedSprite.flip_h = true # tai $AnimatedSprite.flip_v = tosi pystysuoralle kääntämiselle

Jos soitin painaa flip_animation syöttötoiminto ja aseta sitten flip_h omaisuutta AnimatedSprite to totta. Tämä kääntää animaation vaakasuoraan.

Signaalien hyödyntäminen AnimatedSpritessä

Animaatioiden ohjelmallisen ohjauksen lisäksi Godot tarjoaa tehokkaan tapahtumajärjestelmän, jota kutsutaan signaaleiksi. Signaalien avulla voit vastata tiettyihin tapahtumiin tai muutoksiin, jotka tapahtuvat pelisi suorittamisen aikana.

Siinä tapauksessa että AnimatedSprite, voit käyttää kahta tärkeää signaalia: animaatio_valmis() ja frame_changed().

1. animation_finished() Signaali

The animaatio_valmis() signaali lähetetään, kun animaatio saavuttaa viimeisen ruudun, joko yksittäisen toiston aikana tai silmukan aikana. Tämä signaali on hyödyllinen, kun haluat suorittaa toimintoja tai käynnistää tapahtumia animaation valmistuttua.

 laajentaa KinematicBody2Dfunc _ready(): $AnimatedSprite.connect("animation_finished", itse, "_on_animation_finished")func _on_animation_finished(): # Suorita toimintoja tai käynnistä tapahtumia print("Animaatio valmis!") # Lisäkoodi täällä...

Yhdistä animaatio_valmis() signaali AnimatedSprite kohtaan _on_animation_finished() menetelmä samassa skriptissä käyttäen kytkeä() toiminto.

Kun animaation toisto päättyy, voit suorittaa mukautetun logiikan tai käynnistää muita toimintoja käyttämällä _on_animation_finished() menetelmä.

2. frame_changed() Signaali

The frame_changed() signaali lähetetään aina, kun animaation nykyinen kehys muuttuu. Tämä voi tapahtua, kun animaatiota toistetaan tai kun muutat kehystä ohjelmallisesti. Tämän signaalin avulla voit havaita kehysten muutokset ja reagoida niiden mukaisesti.

 laajentaa KinematicBody2Dfunc _ready(): $AnimatedSprite.connect("frame_changed", self, "_on_frame_changed")func _on_frame_changed(): # Suorita toimintoja nykyisen kehyksen perusteella var currentFrame = $AnimatedSprite.frame print("Nykyinen kehys: ", currentFrame) # Lisäkoodi tässä...

Yhdistä frame_changed() signaali AnimatedSprite kohtaan _on_frame_changed() menetelmä samassa skriptissä. Kun kehys muuttuu, voit käyttää nykyistä kehystä käyttämällä _on_frame_changed() menetelmää ja suorittaa toimintoja tai logiikkaa kehyksen arvon perusteella.

Signaalien avulla voit reagoida animaatiotapahtumiin, kuten valmistumiseen tai kehyksen muutoksiin, ja sisällyttää dynaamisia käyttäytymismalleja tai laukaista tiettyjä toimintoja pelissäsi.

Tee Godot-peleistä kiinnostavampia animaatioiden avulla

2D-animaatioiden lisääminen Godot-peleihisi voi parantaa huomattavasti yleistä pelaajakokemusta. Animaatiot herättävät hahmot eloon ja tekevät heidän liikkeistään ja toiminnoistaan ​​visuaalisesti houkuttelevampia. Sisällyttämällä animaatioita erilaisiin toimiin, kuten kävelyyn, juoksemiseen, hyökkäämiseen ja hyppäämiseen, voit luoda dynaamisen ja mukaansatempaavan peliympäristön.

Lisäksi voit myös käyttää animaatioita visuaalisen palautteen antamiseen soittimelle. Tämä palaute auttaa tekemään pelistä kiinnostavamman ja reagoivamman, mikä lisää pelaajan kontrollin ja osallistumisen tunnetta.