Programación Específica > Allegro
Problema Con Allegro Y Dev-cpp
palpatine16:
Wenas!!! Me he descargado un tutorial de como empezar a programar en allegro y al intentar compilarlo me da un error. El codigo lo saqué de un enlace de esta web http://www.tutorialespm.com/index.php?modo...ales&a1=allegro
El codigo sería el siguiente:
--- Código: Text --- /* ----------------------------------------------------------------------------------------------------------------| Este código pertenece a la jungla de los tutoriales (www.tutorialespm.com). Puedes || usar este código para lo que quieras excepto para fines comerciales. Si tienes alguna duda, o te gustaria || comentar el código, dirígete a www.tutorialespm.com & ... sp; || -Cofruben. |---------------------------------------------------------------------------------------------------------------- --->Tutorial número: 1--->Categoría: Juegos--->Título: Space Invaders - 1º parte*/ /* Primer Capitulo del Space Invadersque pensamos hacer en este tutorial,alguna duda o fallo,dimelo para corregirlo ya que no soy perfecto(SIN COMENTARIOS..xDD)En este Capitulo aprenderemos como iniciarel modo grafico y a poner todo a punto para que se pueda imprimir un texto en Pantalla.Tutorial Compilado Con Dev-Cpp 4.9.9.2 yAllegro 4.2.0Created By Snakers*/ #include <allegro.h> //Cargamos el archivo de Cabecera de Allegro void init() { allegro_init(); //Iniciamos allegro set_gfx_mode(GFX_AUTODETECT_WINDOWED, 800, 600, 0, 0); /*Cambiamos el Modo grafico,pueden ser: GFX_AUTODETECT_FULLSCREEN edo GFX_AUTODETECT_WINDOWED ,en este caso pondremos 800x600*/ install_timer(); //Cargamos el temporizador(Por si queremos reproducir Sonido o Usar el Raton). install_keyboard(); //Cargamos el teclado } void juego() { textout(screen,font,"Space Invaders",SCREEN_W/2,SCREEN_H/2,-1); /* Imprime Texto en Pantalla:<(BITMAP *JPG, const FONT *f, const char *s, int x, y, int color);>> En el primer argumento, ponemos donde queremos que se imprima el texto en este caso 'SCREEN'(PANTALLA),En el segundo escribimos que fuente queremos usar,la predefinida es 'FONT',El Tercero es el texto que se quiere imprimir,En el cuarto ponemos en que Cordenadas queremos que se imprima(en este caso el ANCHO dividido entre 2(SCREEN_W/2)y el ALTO dividido entre 2(SCREEN_H/2) y en el ultimo ponemos que color deseamos utilizar,en nuestro caso el blanco*/ while(!key[KEY_ESC]) //Esto pone una condicion(que utilizaremos en capitulos posteriores) { } } int main() { init(); //Ejecuta la funcion INIT juego(); //Cuando Termina INIT empieza JUEGO return 0; } END_OF_MAIN(); //Necesario despues de un Main en Allegro //EN EL PROXIMO CAPITULO VEREMOS COMO PONER UN FONDO Y HACER MOVER LA NAVE
El error me lo da siempre en textout. Hay algo mal???
Esper una respuesta
Gracias
Geo:
- ¿Es un error al compilar? ¿Qué error te muestra? (Es que no tengo tiempo de probar).
- ¿Qué versión de Allegro estás manejando? Algo que podría ser (supongo, porque no muestras el error que te da), es que la función textout no exista, desde las versiones anteriores se había comentado que en algún momento se iba a eliminar esta función (al compilar lanzaba una advertencia al respecto), por lo que, deberías utilizar esta función en su lugar:
Sintaxis:
--- Código: Text --- void textout_ex( BITMAP *bmp, const FONT *f, const char *s, int x, int y, int color, int bg );
Ejemplo:
--- Código: Text --- textout_ex( screen, font, "Hola Allegro", 10, 10, makecol( 0, 0, 255 ), -1 );
La función makecol devuelve un int que representa un color de acuerdo a los tres parámetros recibidos (rojo, verde y azul). Los valores de estas componentes van de 0 a 255.
Saludos,
José Jorge (Geo).
palpatine16:
Muy wenas!!! pues aver utilizo la version del allegro que instale del paquete que baje de www.devpacks.org me parece que es la versión 4.2.0. El error me lo da en el textout:
--- Código: Text --- textout' is deprecated (declared at C:/devcpp/include/allegro/alcompat.h:158)
Que puede ser????
Gracias. espero una respuesta
Geo:
Es lo que te dije, la función ya no está disponible en Allegro. Usa textout_ex en lugar de textout.
Saludos,
José Jorge (Geo).
palpatine16:
Pues no se que pasa que solo me da errores. Ay algo mal en elcodigo???
--- Código: Text --- #include <allegro.h> void init(){ allegro_init(); set_gfx_mode( GFX_AUTODETECT_WINDOWED, 400, 200,0,0); install_timer(); install_keyboard(); } void textout_ex( BITMAP *bmp, const FONT *f, const char *s, int x, int y, int color, int bg ); void juego (){ textout_ex( screen, font, "Hola Allegro", 10, 10, makecol( 0, 0, 255 ), -1 ); while(!key[KEY_ESC]){ exit(0); } } int main(){ init(); juego(); return(0); } END_OF_MAIN;
El error que da es linea 28 :ISO C++ forbids declaration of `END_OF_MAIN' with no type
Gracias
Navegación
[#] Página Siguiente
Ir a la versión completa