BGRASpriteAnimation/es

From Lazarus wiki
Jump to navigationJump to search

English (en) español (es)

General

BGRASpriteAnimation es un control gráfico desarrollado con la librería BGRABitmap. Es parte del paquete BGRAControls. Este control es útil para crear animaciones desde bitmap.

Comenzando

Agrega un nuevo BGRASpriteAnimation desde la pestaña de componentes "BGRA Controls".

El siguiente paso es cargar un "sprite". Un sprite es un bitmap que contiene todos los cuadros de la animación. Para cargar un sprite selecciona "BGRASpriteAnimation1". En el Inspector de Objectos clic en la propiedad "Sprite (TBitmap)[...]". Carga el sprite al igual que cargas cualquier bitmap.

Este es el sprite que utilizaremos para explicar el funcionamiento del componente:

bgraspriteanimation main sprite.png

Podemos decir que las dimensiones del sprite son 100x500 px. Tiene 5 cuadros, entonces cada cuadro es de 100x100 px.

El siguiente paso es avisar al componente que el sprite tiene 5 cuadros. Para establecer el número de cuadros en el Inspector de Objetos clic en la propiedad "SpriteCount" y establece el valor a 5.

Ahora puedes ejecutar la aplicación y ver la animación resultante.

Animacion

Las propiedades de animación son AnimInvert, AnimPosition, AnimRepeat, AnimRepeatLap, AnimSpeed y AnimStatic.

AnimInvert: Por defecto la animación es reproducida desde AnimPosition hasta SpriteCount. Si estableces AnimInvert como True la animación será reproducida en forma inversa, esto es desde el último cuadro hasta el primero.

AnimPosition: La posición del cuadro en la animación.

AnimRepeat: El número de veces que la animación será reproducida. Establece 0 para infinitas.

AnimRepeatLap: El número de veces que la animación fué reproducida. Si alcanza el mismo valor que AnimRepeat la animación parará.

AnimSpeed: La velocidad en milisegundos entre cuadros.

AnimStatic: Úsalo para iniciar y parar la animación.

Sprite

Las propiedades del sprite son Sprite, SpriteCount, SpriteFillOpacity, SpriteFlipMode, SpriteKeyColor, SpriteResampleFilter, SpriteResampleMode, SpriteRotation.

Sprite: Un bitmap que contiene todos los cuadros de la animación.

SpriteCount: Un número que indica la cantidad de cuadros del sprite.

Las siguientes propiedades son modificaciones al sprite.

SpriteFillOpacity: La cantidad de opacidad desde 0 a 255.

SpriteFlipMode: Voltear (flip) ninguno (none), horizontal, vertical o ambos (both).

SpriteKeyColor: El color que será reemplazado con transparencia.

SpriteResampleFilter: El filtro que será utilizado al redimensionar.

SpriteResampleMode: Si eliges FineResample el filtro de redimensión elegido será usado.

SpriteRotation: Rotación (Rotation) ninguno (none), sentido horario (clockwise), sentido antihorario (counterclockwise).

Eventos

OnRedrawBefore, OnRedrawAfter, OnPositionChanging, OnPositionChanged, OnLapChanging, OnLapChanged en ese orden.

Los siguientes eventos son específicos a los sprites.

OnRedrawBefore: Llamado antes de aplicar las modificaciones al sprite.

OnRedrawAfter: Llamado después de aplicar las modificaciones al sprite, pero antes de redimensionar (resample).

Los siguientes eventos son específicos a la animación.

OnPositionChanging: Llamado antes de que la animación cambie el valor AnimPosition.

OnPositionChanged: Llamado cuando el valor AnimPosition ha cambiado (por la animación o por el usuario).

OnLapChanging: Llamado antes de que la animación cambie el valor AnimRepeatLap.

OnLapChanged: Llamado cuando el valor AnimRepeatLap ha cambiado (por la animación o por el usuario).