*   >> Lezen Onderwijs artikelen >> science >> programming

PushButton Tutorial Series - Animation

Bekijk de DEMO

Download de broncode

Terug naar de tutorial INDEX

De SpriteRenderComponent gebruikt om de statische sprite in de laatste les geven heeft ook de mogelijkheid om frames van de animatie weer te geven. Door het toewijzen van een bron om de woning loadFromImage zal de SpriteRenderComponent in feite maak een SpriteSheetComponent met een enkel frame van de animatie. In combinatie de SpriteSheetComponent en SpriteRenderComponent hebben de mogelijkheid om te verwijzen naar een aantal individuele frames in een enkel beeld, als een filmstrip.

De eerste stap in de uitvoering van een animatie is om de code die de SpriteSheetComponent instrueert te laden verwijderen een afbeelding

 var Render. SpriteRenderComponent = new SpriteRenderComponent (); Render.positionReference = new PropertyReference ("@ Spatial.position"); entity.addComponent (Render, "Render"); 

De SpriteRenderComponent niet echt een idee van de animatie. Het kan worden geïnstrueerd welk frame van de animatie weer te geven op een gegeven moment, maar het heeft niet de mogelijkheid om door deze frames zich te hebben.

Daarvoor moeten we een nieuwe component te introduceren: de AnimationController. Het doel van de AnimationController is om de toestand van een animatie te werken (namelijk om naar het volgende frame van de animatie na een bepaalde tijd) en een SpriteRenderComponent welk frame van waaruit SpriteSheetComponent om te laten zien vertellen.

 var Animatie: AnimationController = new AnimationController (); Animation.spriteSheetReference = new PropertyReference ("@ Render.spriteSheet"); Animation.currentFrameReference = new PropertyReference ("@ Render.spriteIndex"); Animation.

defaultAnimation = "IdleRight";

Dus zoals we al eerder de SpriteSheetComponent verwijst naar een beeld, en weet hoe dat beeld af te breken in de individuele frames. Hier maken we een SpriteSheetComponent dat ene beeld dergelijke film strip verwijst

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

The individuele frames. beeld film strip kan worden afgestemd op een aantal verschillende manieren. Voor deze demo maken we gebruik van een reeks frames die horizontaal zijn uitgelijnd.

U kunt zien hoe dit werkt in de afbeelding hieronder.

De CellCountDivider klasse biedt een manier voor ons om de SpriteSheetComponent hoe de beelden worden afgestemd op de hoogte. H

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Lezen Onderwijs artikelen,https://onderwijs.nmjjxx.com All rights reserved.