lunes, 23 de julio de 2012

Utilizando datafiles

Los ficheros de datos que son creados por la utilidad grabber, y tienen la extensión .dat. Pueden contener bitmaps, paletas de color, fuentes, sonidos, música MIDI, animaciones FLI/FLC y cualquier otro tipo binario de datos que importe.

Para poder utilizarlo en nuestro programa, una vez tengamos el archivo creado con el grabber.exe, lo primero es cargar el archivo .dat.

DATAFILE *datos;

datos = load_datafile("misdatos.dat");

Creamos una variable del tipo DATAFILE, en la siguiente instrucción cargamos el contenido del archivo llamado "misdatos.dat" en la variable datos.

Si se quiere acceder a un bitmap guardado en el archivo .dat se utiliza lo siguiente:

BITMAP *fondo;

fondo =(BITMAP *)datos[0].dat;

De esta forma, la variable fondo que es un BITMAP coje el contenido del primer elemento de la lista de datos, se presupone que ese primer elemento es un BITMAP si no dará error.

En el caso de que se quiera acceder a un archivo de audio o SAMPLE.

SAMPLE *sonido;

sonido = (SAMPLE *)datos[2].dat;

En este caso, la variable sonido toma el valor del tercer elemento de la lista de datos, ya que se empieza a contar desde cero, al igual que antes suponemos que ese elemento es un sonido.

Si quisieramos una música MIDI.

MIDI *musica;

musica = (MIDI *)datos[1].dat;

Si nos fijamos para acceder a un elemento de los datos lo hacemos atraves de un numero, que es la posición que ocupa en nuestro archivo, como puede darse el caso de que se añadan muchas y no sepamos en que posición esta la imagen o objeto que queremos utilizar, puede acceder también mediante un nombre, que previamente le hemos dado cuando hemos creado el archivo .dat.

Para ello deberíamos haber rellenado el campo header en el programa grabber.exe


Header es el nombre del archivo de cabecera (.h) que grabber.exe creará. Este lo usarás en tu programa para hacer referencia a los recursos dentro del archivo .dat.
Grabber.exe asigna un número consecutivo (empezando en 0) a cada recurso dentro del archivo .dat, pero para poder referenciarlos de manera más práctica, se crea el archivo .h con unos #define para identificar más fácil a cada recurso. Si lo hemos creado para usarlo solo debemos añadirlo a nuestro proyecto.

#include "misdatos.h"

Tambien se puede utilizar directamente los datos con los comandos:

blit( (BITMAP*)datos[mifondo].dat, screen, 0,0,0,0,640,480);

play_sample((SAMPLE*)datos[sonido].dat,120,128,1000,0);



5 comentarios:

  1. Tengo un datafile que contiene otro datafiles, como muestro una imagen que contiene este datafile interno?

    ResponderEliminar
    Respuestas
    1. Debes usarlo como otro fichero datafile, supongamos que este se llama "cosas". Pues debes declarar una variable datafile para poder utilizarla. Algo parecido a esto:
      DATAFILE *interno = (DATAFILE *)dat[cosas].dat;

      Y para acceder a una imagen llamada gato de este datafile interno
      BITMAP *img = (BITMAP*)interno[gato].dat;

      Eliminar
    2. GRACIAS KODAY. Me a servido de esto de mucha utilidad

      Eliminar
  2. ¿Cómo creo un header de un datafile que ya tengo creado?

    ResponderEliminar
    Respuestas
    1. El grabber te lo crea de forma automatica, solo tienes que poner un nombre en el apartado de header, en este ejemplo misdatos.h, ya que el archivo creado se llama misdatos.dat. Y guardar el archivo para que te lo genere.

      Eliminar

Related Posts Plugin for WordPress, Blogger...