*   >> Leitura Educação Artigos >> science >> programação

PushButton Tutorial Series - Animation

Veja a apresentação

BAIXAR O CÓDIGO FONTE

Voltar ao Índice TUTORIAL

O SpriteRenderComponent usado para exibir o sprite estática no último tutorial também tem a capacidade de exibir quadros de animação. Ao atribuir um recurso para a propriedade loadFromImage, o SpriteRenderComponent vai, de facto criar um SpriteSheetComponent com um único quadro de animação. Em combinação da SpriteSheetComponent e SpriteRenderComponent têm a capacidade de fazer referência a um número de quadros individuais contidos em uma única imagem, como um filmstrip.


O primeiro passo na implementação de uma animação é remover o código que instrui o SpriteSheetComponent para carregar uma imagem

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

O SpriteRenderComponent realmente não tem qualquer conceito de animação. Ele pode ser instruído que quadro de animação para exibir a qualquer momento, mas ele não tem a capacidade de alternar entre elas próprias esses quadros.

Para isso, precisamos de introduzir um novo componente: a AnimationController. O objetivo do AnimationController é atualizar o estado de uma animação (ou seja, para passar para a próxima frame da animação depois de um determinado período de tempo) e para contar uma SpriteRenderComponent que quadro a partir do qual SpriteSheetComponent para exibir.

 var Animação: AnimationController = new AnimationController (); Animation.spriteSheetReference = new PropertyReference ("@ Render.spriteSheet"); Animation.currentFrameReference = new PropertyReference ("@ Render.spriteIndex"); Animation.

defaultAnimation = "IdleRight";

Assim como mencionamos anteriormente o SpriteSheetComponent faz referência a uma imagem, e sabe como quebrar essa imagem para baixo em seus quadros individuais. Aqui criamos um SpriteSheetComponent que faz referência a uma tal imagem Tira da película

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

The quadros individuais. imagem de uma tira de filme no possam ser alinhados em um número de maneiras diferentes.

Para esta demonstração, estamos usando uma série de quadros que estão alinhados horizontalmente. Você pode ver como isso funciona na imagem abaixo.


A classe CellCountDivider fornece uma maneira

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Leitura Educação Artigos,https://artigos.nmjjxx.com All rights reserved.