KODAY.dll



LIBRERIA KODAY

REQUISITOS PREVIOS

Para poder utilizar la libreria debemos tener instalado la libreria Allegro Version 4.4.


INSTALACION EN DEV-C++

La libreria se compone de varios archivos y carpetas. Todos ellos deben copiarse dentro de la carpeta de dev-cpp.
bin\koday.dll
La libreria compilada, para que podamos utilizarla en cualquier proyecto dentro del Dev-c++.
include\koday.h
La cabecera de la libreria debe estar en la carpeta include para que podamos incluirlo en nuestros proyectos con el comando
#include < koday.h >

lib\libkoday.a

lib\libkoday.def
Archivos de la librería necesarios para poder compilar los proyectos. Tenemos que añadir en opciones de proyecto -> parametros, en el apartado linker se debe de añadir:
-lalleg -lkoday
la primera para incluir el allegro y la segunda para nuestra libreria koday.

CONTENIDO KODAY.DLL


CLASE SISTEMA - System


Contiene algunas funciones cotidianas para el uso del allegro. Se crea predefinida la variable de entorno global System ( cuidado con las mayúsculas ).


Inicia(int Ancho, int Alto);

inicializa el allegro y lo necesario para el sistema de juego.
System.Inicia(640,480);

BITMAP* Fondo;

Para pintar por pantalla se ha definido la variable Fondo, que es la que utilizara el sistema por
defecto.
System.Fondo;


CargarDat(const char* fich, const char* pass );

Indicamos el fichero .DAT a cargar con las imagenes.
System.CargarDat("imagenes.dat",NULL);

Muestra();

muestra la vble Fondo en pantalla
System.Muestra();

Muestra( BITMAP* cfondo );

Muestra cfondo por pantalla
System.Muestra( imagen );

BorraPantalla();

BorraPantalla( BITMAP* cfondo);


Rellena de un color la imagen Fondo en el primer caso, o la imagen pasada por parámetro.

System.BorraPantalla();

   System.BorraPantalla( imagen );

Frameseg(int frames);


para asignar los frames por segundo. El sistema por defecto se inicia con valor 25.
System.Frameseg(30);

bool Retardo();

Para controlar los frames por segundo, indicando true cuando es el momento de pintar otro frame
System.Frameseg(25);
   while ( !key[KEY_ESC] )
   {
      if ( System.Retardo() )
      {
         System.BorraPantalla(); 
  
  // Actualizamos y pintamos escenario
 
      }
      System.Muestra(); 
   }


Fin();

para finalizar el sistema y liberar memoria del fondo
System.Fin();

int ANCHO, ALTO;

Son utilizados para saber con que valor se a iniciado el entorno.
System.ANCHO;

   System.ALTO;

int VolumenEfecto;

int VolumenMusica;

Para controlar el volumen de la música y los efectos. Para evitar errores debe tener valor entre 0 y 255


DATAFILE *Data;

Para cargar ficheros .DAT.






Ejemplo básico de la librería

para mostrar una ventana, con el fondo relleno de color rojo.
#include < koday.h >

   int main() 
   { 
     
      System.Inicia( 640, 480 );

      rectfill(System.Fondo, 0,0, System.ANCHO, System.ALTO, 0xff0000); 
 
      System.Muestra();
  
      readkey();
 
      System.Fin();
     
      return 0;
   }
   END_OF_MAIN();







CLASE IMAGEN


Tenemos varios creadores para la clase imagen

IMAGEN vble;


Crea una vble del tipo imagen, del tamaño 1 pixel

IMAGEN vble(ancho,alto);


Crea una vble del tipo imagen, con el tamaño indicado por el ancho y alto. Y la imagen creada se rellena con el color negro

IMAGEN vble(ancho,alto,color);


Crea una vble del tipo imagen, con el tamaño indicado por el ancho y alto. Y la imagen creada se rellena con el color indicado

IMAGEN = BITMAP*


Para crear la imagen apartir de un bitmap. Ejemplo:
IMAGEN vble_imagen;
   vble_imagen = load_bitmap("imagen.bmp");

Una vez creada la IMAGEN, podemos hacer lo siguiente:

Rellena_color(int icolor);

Rellena la imagen creada con un color.
// rellenamos de color blanco
   vble_imagen.Rellena_color( 0xffffff);


.Cambia( int ancho, int alto )

Cambiar el tamaño de la imagen
vble_imagen.Cambia( nuevoancho, nuevoalto);

int Alto();

Para obtener la altura de la imagen
vble_imagen.Alto();

int Ancho();

Para obtener el ancho de la imagen
vble_imagen.Ancho();

BITMAP* Imagen();

Para obtener el bitmap de la imagen
IMAGEN vble_imagen(100,100,0x00ff00);
   BITMAP *bmp;

   bmp = vble_imagen.Imagen();

Division(int Divisionx);



Division(int Divisionx, int Divisiony);



.Pinta(int x, int y, BITMAP img)

Pinta la imagen sobre el bitmap img, en una posicion determinada por x,y
vble_imagen.Pinta(posx, posy, fondo);



.Colision( IMAGEN img2 )

Comprobar si colisiona con otra imagen
if ( vbleColision( otraimagen ) )
  {
      // colisionan las imagenes vble_imagen y otraimagen
  }

.Rellena_color( int color )

Rellenar con un color
rojo = makecol(255,0,0);
   vble_imagen.Rellena_color( rojo );