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
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 pordefecto.
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 pantallaSystem.Muestra();
Muestra( BITMAP* cfondo );
Muestra cfondo por pantallaSystem.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 frameSystem.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 fondoSystem.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 255DATAFILE *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 );