*   >> Læs Uddannelse artikler >> science >> programming

Trykknap Tutorial Series - Animation

SE DEMO

hente kildekoden

TILBAGE TIL tutorial INDEX

SpriteRenderComponent bruges til at vise den statiske Sprite i sidste tutorial har også evnen til at display frames af animation. Ved at tildele en ressource til loadFromImage ejendom, vil SpriteRenderComponent faktisk skabe en SpriteSheetComponent med en enkelt ramme af animationen. I kombination af SpriteSheetComponent og SpriteRenderComponent har evnen til at referere til en række individuelle billeder, der er indeholdt i et enkelt billede, som en filmstrimmel.


Det første skridt i gennemførelsen af ​​en animation er at fjerne den kode, der instruerer SpriteSheetComponent at indlæse et billede

 Var Render:. SpriteRenderComponent = ny SpriteRenderComponent (); Render.positionReference = ny PropertyReference ("@ Spatial.position") entity.addComponent (Render, "Render") 

SpriteRenderComponent ikke rigtig har nogen begrebet animation. Det kan instrueres i hvilken ramme af animationen at vise på et givet tidspunkt, men det har ikke evnen til at gennemløbe selv disse rammer.

For at vi skal indføre en ny komponent: den AnimationController. Formålet med AnimationController er at opdatere status for en animation (nemlig at flytte til den næste ramme af animationen efter en bestemt periode), og til at fortælle en SpriteRenderComponent hvilken ramme hvorfra SpriteSheetComponent skal vises.

 Var Animation: AnimationController = ny AnimationController (); Animation.spriteSheetReference = ny PropertyReference ("@ Render.spriteSheet") Animation.currentFrameReference = ny PropertyReference ("@ Render.spriteIndex") Animation.

defaultAnimation = "IdleRight";

Så som vi nævnte tidligere SpriteSheetComponent refererer et billede, og ved, hvordan man kan bryde det billede ned i de enkelte frames. Her skaber vi et SpriteSheetComponent der refererer en sådan film strip billede

 var IdleRightSpriteSheet: SpriteSheetComponent = ny SpriteSheetComponent (); IdleRightSpriteSheet.imageFilename = "../media/idleright.png";

The enkelte frames. i en filmstrimmel billede kan justeres på en række forskellige måder. For denne demo bruger vi en serie af rammer, der flugter vandret.

Du kan se, hvordan det fungerer i billedet nedenfor.


CellCountDivider klassen giver en måde for os at informere SpriteSheetComponent hvordan billederne er justeret. Her er vi fortæller det, at der er 6 billeder langs x-aksen

 var divider:. CellCountDivider 

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.