Sentencia de definición
para '.ini' de localidad
DEF_ANIMACION


Define un sprite animado o estático para usarlo solamente en la localidad donde lo estemos definiendo.


Sintaxis:

DEF_ANIMACION
NUM_ANIMACION número_animación
FICHERO_ANIMACION nombre_fichero_sprite_bin
ANCHO ancho_sprite
ALTO alto_sprite
ZOOM tipo_de_zoom
VELOCIDAD velocidad_animación
CICLOS ciclos_animación
TIPO_CICLO tipo_de_ciclo
BORRAR_AL_FINALIZAR_CICLO borrar_al_finalizar
INICIAR iniciar_animación
FIN_DEF_ANIMACION


Significado de los parámetros de esta sentencia:

  • número_animación: Número de la animación que queremos definir (entre 1 y 16).
    Podemos definir hasta 16 animaciones al mismo tiempo por localidad. Puedes asignar el número de animación que quieras del 1 al 16 mientras no lo hayas utilizado para otra definición de animación en la misma localidad. Este número de animación nos servirá de referencia para controlar la animación, en tiempo de juego, mediante comandos.

  • nombre_fichero_sprite_bin: Nombre del fichero de sprite '.bin', sin indicar la extensión .bin, que contiene la animación del sprite o el sprite estático (máximo 32 caracteres).
    El fichero '.bin' del sprite debes copiarlo en la carpeta 'animaciones' que se encuentra en la carpeta de ficheros de tu aventura, ya sea un sprite animado o no.

  • ancho_sprite: Ancho total del sprite.
    Aquí debemos indicar el ancho total en pixeles del sprite. Consideramos el ancho la medida en pixeles de izquierda a derecha (en horizontal).

  • alto_sprite: Alto total del sprite.
    Aquí debemos indicar el alto total en pixeles del sprite. Consideramos el alto la medida en pixeles de arriba a abajo (en vertical). En caso de tratarse de un sprite animado también cuenta para la medida todos los 'frames' en vertical que compongan la animación.

  • tipo_de_zoom: Tipo de ampliación que queremos aplicarle al sprite cuando se muestre en pantalla.
    Indicando el valor 128 el sprite aumentara el doble su tamaño, mientras que con el valor 192 lo hará sólo un 50%. Puedes usar otros valores para obtener diferentes ampliaciones.
    ATENCIÓN: El uso de esta característica de zoom provoca que la aventura no funcione si tu aventura está funcionando en el emulador 'NO$GBA', aunque funcionará perfectamente en una consola real Nintendo DS o Nintendo DS Lite.

  • velocidad_animación: Velocidad a la que se reproducirá la animación en pantalla.
    Por defecto es aconsejable indicar un valor de 5.
    Con este valor podremos controlar la velocidad a la que queremos que se reproduzca la animación. A mayor valor mayor velocidad.

  • ciclos_animación: Ciclos de repetición de la animación.
    Aquí debemos indicar la cantidad de veces que queremos que se repita la animación.

  • tipo_de_ciclo: Tipo de repetición.
    Según el valor que indiquemos en este parámetro la animación se comportará de una manera o de otra. Los valores válidos son los siguientes:
    1 (Ciclo infinito. La animación nunca se detendrá, no tiene en cuenta lo que hayamos indicado en 'ciclos_animación').
    2 (Un solo ciclo. La animación sólo la reproduce una vez, no tiene en cuenta lo que hayamos indicado en 'ciclos_animación').
    3 (Reproduce la animación la cantidad de veces que hayamos indicado en 'ciclos_animación').
    4 (Ciclo infinito inverso. Reproduce la animación indefinidamente adelante y atrás).
    5 (Ciclo inverso. Reproduce la animación, adelante y atrás, la cantidad de veces que hayamos indicado en 'ciclos_animación')

  • borrar_al_finalizar: ¿ Borrar la animación al finalizar su ciclo ?.
    Debemos indicar SI si queremos que la animación desaparezca cuando llegue al final de su ciclo, o indicar NO si queremos que no desaparezca y que quede en pantalla el primer 'frame' de la animación. Para que al finalizar la animación no desaparezca y quede el último 'frame' en pantalla, usa el valor 5 para 'tipo_de_ciclo' y valores impares en 'ciclos_animación'.

  • iniciar_animación: ¿ Iniciar animación cuando se muestre en pantalla ?.
    Hay ocasiones en las que necesitarás presentar en pantalla el primer 'frame' de la animación, pero sin que esta de comienzo de momento hasta que suceda algo o el jugador haga algo, para eso está este parámetro. Indicando NO se presentará en pantalla el primer 'frame' congelado de la animación, mientras que indicando SI la animación dará comienzo de inmediato.


    Ejemplo 1:
    Definir el sprite 'explosion3_Sprite.bin' de 64x640 (que contiene 10 'frames'), como la animación número 1 de la localidad 19:


    explosion3_Sprite.bin

    En el fichero '.ini' de la localidad 19 ('loc019a.ini'), incluiremos la siguiente sentencia:
    DEF_ANIMACION
      NUM_ANIMACION 1
      FICHERO_ANIMACION explosion3_Sprite
      ANCHO 64
      ALTO 640
      ZOOM 0
      VELOCIDAD 9
      CICLOS 4
      TIPO_CICLO 1
      BORRAR_AL_FINALIZAR_CICLO NO
      INICIAR SI
    FIN_DEF_ANIMACION
    Con las líneas de este ejemplo, quedará definida esta animación solamente para la localidad 19. Si quieres definir esta animación para otra localidad, no hay ningún problema, pero tendrás que repetir la definición de la animación en el fichero '.ini' de esa localidad.

    La definición ya la tenemos hecha, pero con sólo hacer esto nuestra animación nunca aparecerá en pantalla, de eso se encargará el comando 'MOSTRAR_ANIMACION', que tendrás que usar en el momento que tu aventura lo requiera para presentar esta animación en la posición adecuada y según las circunstancias adecuadas.
    Si por ejemplo quieres que esta animación se muestre en las coordenadas 94,90 cada vez que el jugador entre en la localidad, sólo tendríamos que incluir estas líneas de comandos en el fichero '.ini' de la localidad 19:
    IF COND EVENTO_LOCALIDAD=SI
      COMANDO MOSTRAR_ANIMACION 1, 94, 90
    ENDIF

    Ejemplo 2:
    Definir el sprite estático 'ufo_Sprite.bin' de 64x64, como la animación número 2 de la localidad 19.
    En el fichero '.ini' de la localidad 19 ('loc019a.ini'), incluiremos la siguiente sentencia, aunque no sea una animación:
    DEF_ANIMACION
      NUM_ANIMACION 2
      FICHERO_ANIMACION ufo_Sprite
      ANCHO 64
      ALTO 64
      ZOOM 0
      VELOCIDAD 5
      CICLOS 4
      TIPO_CICLO 1
      BORRAR_AL_FINALIZAR_CICLO NO
      INICIAR NO
    FIN_DEF_ANIMACION


    ufo_Sprite.bin

    Debes usar tantas definiciones 'DEF_ANIMACION' como animaciones quieras definir en la localidad. Tendrás que definir solamente las animaciones que vayas a usar en esa localidad, ni una más ni una menos.
    Todas las animaciones que se estén mostrando en una localidad desaparecen automáticamente cuando el jugador abandone esa localidad.
    Utiliza el comando 'BORRAR_ANIMACION' para hacer desaparecer animaciones.
    Utiliza los comandos 'PAUSAR_ANIMACION' y 'REANUDAR_ANIMACION' para detener y reanudar las animaciones.


    Consulta la estructura de datos del fichero fichero .ini de la localidad para saber en que orden debes incluir esta sentencia dentro del fichero.