Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: ankora45 en 19 Julio 2013, 13:39 pm



Título: Problema imagenes c++
Publicado por: ankora45 en 19 Julio 2013, 13:39 pm
Hola, estoy usando la libreria de allegro para crear un menu. si ejecuto el programa con imagenes de 640*480 me va bien pero no es la resolucion idonea que quiero por lo que escojo imagenes de 1280*720 lo que seria hd y el programa al compilar no me da errores pero no puedo ejecutarlo me dice this aplication has requested the runtime to terminate it in an unusual way. Alguien me podria decir si algo esta mal o como poner imagenes mas grandes de la resolucion 640*480. PD: cargo las imagenes en una ruta por lo que aunque cambie el ejecutable de directorio siempre localiza las imagenes.

Código:
#include <allegro.h>

int main()
{
    allegro_init();
    set_color_depth(32);
    install_mouse();
    install_keyboard();
    set_gfx_mode(GFX_AUTODETECT, 1280, 720, 0, 0);

    BITMAP *buffer = create_bitmap(1280, 720);
    BITMAP *FONDO = load_bitmap("C://users/alvaro/Desktop/menu/menu/menu grande/imagenes/fondo.bmp", NULL);
    BITMAP *FONDO1 = load_bitmap("C://users/alvaro/Desktop/menu/menu grande/imagenes/menu/fondo1.bmp", NULL);
    BITMAP *FONDO2 = load_bitmap("C://users/alvaro/Desktop/menu/menu grande/imagenes/menu/fondo2.bmp", NULL);
    BITMAP *FONDO3 = load_bitmap("C://users/alvaro/Desktop/menu/menu grande/imagenes/menu/fondo3.bmp", NULL);
    BITMAP *CURSOR = load_bitmap("C://users/alvaro/Desktop/menu/menu/menu grande/imagenes/cursor.bmp", NULL);

    bool salida = false;
    while(!salida)
        {
           if(mouse_x > 54 && mouse_x < 514 &&
              mouse_y > 84 && mouse_y < 150)
              {
                  blit(FONDO1,buffer,0,0,0,0,1280,720);
                  if(mouse_b & 1)
                  {
                      salida = true;
                  }
              }
            else if(mouse_x > 55 && mouse_x < 672 &&
              mouse_y > 263 && mouse_y < 353 )
              {
                  blit(FONDO2,buffer,0,0,0,0,1280,720);
                  if(mouse_b & 1)
                  {
                      salida = true;
                  }
              }
             else if(mouse_x > 49 && mouse_x < 321 &&
              mouse_y > 493 && mouse_y < 573 )
              {
                  blit(FONDO3,buffer,0,0,0,0,1280,720);
                  if(mouse_b & 1)
                  {
                      salida = true;
                  }
              }
            else blit(FONDO,buffer,0,0,0,0,1280,720);
            masked_blit(CURSOR,buffer,0,0,mouse_x,mouse_y,50,39);
            blit(buffer,screen,0,0,0,0,1280,720);
        }

    destroy_bitmap(buffer);

    return 0;
}
END_OF_MAIN();

la imagen cambia las letras de color cuando paso el raton por encima xD. Gracias


Título: Re: Problema imagenes c++
Publicado por: dato000 en 19 Julio 2013, 16:10 pm
No se mucho de allegro, pero poner una resolucion tan alta no es lo indicado para este tipo de juegos, debe haber una funcion que automaticamente inicie el fullscreen en el juego, un poco de google, o esperar que amchacon que sabe bastante de allegro aparezca por aqui

encontrando algo por encima encontre esto:

http://wiki.allegro.cc/index.php?title=Creating_a_fullscreen_display_with_current_desktop_resolution
http://alleg.sourceforge.net/a5docs/refman/fullscreen_mode.html


Título: Re: Problema imagenes c++
Publicado por: ankora45 en 19 Julio 2013, 16:19 pm
Gracias por tu respuesta aun asi si alguien me dice si puedo poner esa resolucion y como se lo agradeceria


Título: Re: Problema imagenes c++
Publicado por: 0xDani en 20 Julio 2013, 02:05 am
Usa las etiquetas GeSHi para poner el código, se lee mucho mejor. Y en cuanto al código con Allegro, pues como dice @dato000, a esperar a que pase por aquí @amchacon.

PD: Posiblemente te va recomendar SFML, y él entiende más de esas cosas  ;)


Título: Re: Problema imagenes c++
Publicado por: ankora45 en 20 Julio 2013, 08:53 am
Gracias por la informacion 0xDani o usuario que no conozco.. xD


Título: Re: Problema imagenes c++
Publicado por: amchacon en 20 Julio 2013, 12:33 pm
Por supuesto que voy a recomendar SFML xD.

¿Que resolucion de pantalla tienes? ¿Has probado ejecutarlo en pantalla completa? (estoy en el movil y no me acuerdo del comando exacto, pero era cambiando el gfx_normal por gfx_FullScreen o algo asi).

¿Has comprobado tambien que los punteros bitmap no tengan un valor nulo?


Título: Re: Problema imagenes c++
Publicado por: ankora45 en 20 Julio 2013, 13:22 pm
la resolucion de mi pantalla es de 1366*768 pero me refiero que al poner imagenes de la resolucion 640*480 se ve bien  y a pantalla completa pero se ve el menu en medio de la pantalla y dos barras negras a los lados y me gustaria que fuera por toda la pantalla xD no me he explicado bien aver si me entiendes de igual modo adjunto imagen:

diremos que el menu esta en el centro se visualiza  a pantalla completa pero lo blanco estaria en negro y el raton no puede pasar, el puntero del raton son esas dos llaves encima de comenzar.

(http://s2.subirimagenes.com/privadas/previo/thump_2099157imagen.png)


Título: Re: Problema imagenes c++
Publicado por: amchacon en 20 Julio 2013, 21:19 pm
diremos que el menu esta en el centro se visualiza  a pantalla completa pero lo blanco estaria en negro y el raton no puede pasar, el puntero del raton son esas dos llaves encima de comenzar.

(http://s2.subirimagenes.com/privadas/previo/thump_2099157imagen.png)
Lo primero, te voy a enseñar a sacar una captura de pantalla porque es más cómodo para todos:

- Pulsa la tecla "Impr pant" (debería estar al lado de Bloq Despl).
- Abre el paint, click derecho -> pegar.

(Para hacer capturas de una sola ventana pulsa ALT + impr pant).

la resolucion de mi pantalla es de 1366*768 pero me refiero que al poner imagenes de la resolucion 640*480 se ve bien  y a pantalla completa pero se ve el menu en medio de la pantalla y dos barras negras a los lados y me gustaria que fuera por toda la pantalla xD no me he explicado bien aver si me entiendes de igual modo adjunto imagen:
¿Te refieres a que has puesto una imagen de 640x480 en una resolución de 1280x720? Pues claro que no lo vas a ver entero, tienes que usar una imagen de su tamaño *_*


Título: Re: Problema imagenes c++
Publicado por: ankora45 en 21 Julio 2013, 10:26 am
pero si uso una imagen del tamaño de mi pantalla no me funciona el programa


Título: Re: Problema imagenes c++
Publicado por: amchacon en 21 Julio 2013, 11:01 am
pero si uso una imagen del tamaño de mi pantalla no me funciona el programa
Del tamaño de tu pantalla no, del tamaño de la resolución que pongas.


Título: Re: Problema imagenes c++
Publicado por: ankora45 en 22 Julio 2013, 16:00 pm
gracias, aunque ahora la imagen sale muy pequeña, busco una de la resolucion 1366*768? y la puedo poner?


Título: Re: Problema imagenes c++
Publicado por: amchacon en 22 Julio 2013, 16:09 pm
gracias, aunque ahora la imagen sale muy pequeña, busco una de la resolucion 1366*768? y la puedo poner?
En efecto...

Aunque yo no cogería una resolución tan grande, si después alguien juega a tu juego en un netbook con resolución de 1024x768 que pasa?  :huh: