Katso esittely
ladata lähdekoodin
TAKAISIN TUTORIAL INDEX
SpriteRenderComponent käytetään näyttämään staattinen Sprite viime opetusohjelma on myös mahdollisuus näyttää kehyksiä animaation. Liittämällä resurssi loadFromImage omaisuutta, SpriteRenderComponent itse asiassa luo SpriteSheetComponent yhdellä runko animaatio. Yhdistettynä SpriteSheetComponent ja SpriteRenderComponent on kyky viitata useita yksittäisiä kehyksiä sisältämän yhden kuvan, kuten filmiä.
Ensimmäinen askel toteuttamisessa animaatio on poistaa koodi, joka ohjaa SpriteSheetComponent ladata kuva.
var Render: SpriteRenderComponent = uusi SpriteRenderComponent (); Render.positionReference = uusi PropertyReference ("@ Spatial.position"), entity.addComponent (Render, "Render");SpriteRenderComponent ei oikeastaan ole mitään käsitettä animaatio. Se voidaan tehtäväksi joka runko animaatio näyttää kulloinkin, mutta sillä ei ole kykyä selata näitä kehyksiä itse. Tästä meidän on otettava käyttöön uusi komponentti: AnimationController.
Tarkoituksena AnimationController on päivittää tilan animaation (eli siirtyä seuraavaan kuvaan animaation tietyn ajan) ja kertoa SpriteRenderComponent joka kehys, josta SpriteSheetComponent näyttää.
var Animaatio: AnimationController = uusi AnimationController (); Animation.spriteSheetReference = uusi PropertyReference ("@ Render.spriteSheet"); Animation.currentFrameReference = uusi PropertyReference ("@ Render.spriteIndex"); Animation.defaultAnimation = "IdleRight";
Jotta aiemmin mainittiin SpriteSheetComponent viittaa kuvan, ja tietää, miten rikkoa että kuvan alas sen yksittäiset kehykset. Täällä luomme SpriteSheetComponent joka viittaa yksi tällainen raina kuva.
var IdleRightSpriteSheet: SpriteSheetComponent = uusi SpriteSheetComponent (); IdleRightSpriteSheet.imageFilename = "../media/idleright.png";The yksittäiset kehykset vuonna raina kuva voidaan kohdistaa useilla eri tavoilla. Tämän demo käytämme useita kehyksiä, jotka ovat linjassa vaakasuoraan. Voit nähdä, miten tämä toimii kuvan alla.
CellCountDivider luokka tarjoaa meille keinon ilmoittaa SpriteSheetComponent miten kuvat ovat kohdakkain. Täällä me kerromme sen, että meillä on 6 kuvaa pitkin x-akselin.
var jakaja: CellCountDivider = uusi CellCountDivider (); divider.xCount = 6; IdleRightSpriteSheet.divider = jakaja;viimeinen vaihe täytäntöönpanoa animaatio on luoda lisätä AnimationControl