elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Icono en Allegro
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Icono en Allegro  (Leído 2,443 veces)
cisco.quijadac

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Icono en Allegro
« en: 31 Agosto 2017, 17:22 pm »

Hola  :D
Pueden ayudarme, estoy haciendo un pequeño juego con Allegro 4.2.2 en Code::Bloks 16.01 y quisiera añadirle un icono para personalizarlo un poco mas.
Estuve buscando por Internet y encontré que añadiéndole un archivo de recurso al proyecto se podía hacer, pero solo logre q el ejecutable (archivo.exe) y la terminal tuvieran el Icono, pero la ventana de Allegro No!.

Tambien encontré que utilizando windows.h podía añadirle el icono a la ventana. Pero sucede que no se puede cargar windows.h y allegro al mismo tiempo, porque chocan. Entonces encontre aqui http://libreallegro.blogspot.com/ que debia cargar winalleg.h como remplazo al windows.h, aunque no manejo muy bien la API de Windows, segui buscando y encontre en los siguientes enlaces como hacerlo pero esto no me resulta en allegro
http://winprog.org/tutorial/es/resources.html
http://winprog.org/tutorial/es/menus.html

Si uso esto me dice error: 'hInstance' was not declared in this scope
Código
  1. HICON hMyIcon = LoadIcon(hInstance, MAKEINTRESOURCE(MAINICON));

Si alguien puede ayudarme se lo agradecería

Game.cpp
Código
  1. #include<allegro.h>
  2. #include<winalleg.h>
  3.  
  4. #define V_Ancho 800
  5. #define V_Alto 600
  6.  
  7. BITMAP *buffer;
  8.  
  9. int main() {
  10.    allegro_init();
  11.    install_keyboard();
  12.    install_mouse();
  13.    set_color_depth(32);
  14.    set_gfx_mode(GFX_AUTODETECT_WINDOWED,V_Ancho,V_Alto,0,0);
  15.    show_mouse(screen);
  16.  
  17.    buffer = create_bitmap(V_Ancho,V_Alto);
  18.    buffer = load_bitmap("background.bmp",0);
  19.  
  20.    blit(buffer,screen,0,0,0,0,V_Ancho,V_Alto);
  21.  
  22. while(!key[KEY_ESC]){
  23.    readkey;
  24.    }
  25.  
  26.   destroy_bitmap(buffer);
  27.  
  28.    return 0;
  29. }
  30. END_OF_MAIN();
  31.  

resource.rc
Código
  1. #ifndef _resource_rc
  2. #define _resource_rc
  3.  
  4. MAINICON    ICON    "ICON 32x32.ico"
  5.  
  6. #endif // _resource_rc
  7.  

En el siguiente enlace dejo el proyecto, posiacaso lo necesitan para hacer algunas pruebas
https://goo.gl/qcRcMM


En línea

vangodp


Desconectado Desconectado

Mensajes: 455



Ver Perfil
Re: Icono en Allegro
« Respuesta #1 en: 1 Septiembre 2017, 02:42 am »

para que el codeblocks gener el icon debes seguir esos pasos.

1º Tener el archivo windres correctamente configurado.

Está dentro de la carpeta bin de sú compilador, junto a g++.exe por ejemplo.

2º Suponiendo que tienes un icon llamado saitama.ico, en la carpeta del proyecto queda así:

Como puedes ver el archivo resource.rc está junto.

3º En el rc tengo eso:


4º Compilar

5º traz compilar, dependiendo de si has usado debug o release, salirá uma carpeta nueva junto al icono do proyecto, en mi caso debug.


6º ¡Listo! Como se puede ver la imaje está en el exe:


Dejo la carpeta del proyecto para que des una mirada: http://www.clubedohardware.com.br/applications/core/interface/file/attachment.php?id=141814

Espero que sirva.


En línea

cisco.quijadac

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Icono en Allegro
« Respuesta #2 en: 1 Septiembre 2017, 17:52 pm »

Gracias, pero eso ya lo intente

Citar
Estuve buscando por Internet y encontré que añadiéndole un archivo de recurso al proyecto se podía hacer, pero solo logre q el ejecutable (archivo.exe) y la terminal tuvieran el Icono, pero la ventana de Allegro No!.

En internet encontre que con Allegro 5 si se puede utilizando el comando
Código:
al_set_display_icon(your_display, icon);
 

Código
  1. #include <iostream>
  2. #include <allegro5/allegro.h>
  3. #include <allegro5/allegro_image.h>
  4.  
  5. int main () {
  6.  
  7. al_init();
  8. al_init_image_addon();
  9.  
  10. ALLEGRO_DISPLAY *display = al_create_display(800,600);
  11. ALLEGRO_BITMAP  *icon    = al_load_bitmap   ("icon.png");
  12.  
  13. al_set_display_icon(display, icon);
  14.  
  15. al_rest(3);
  16.  
  17. al_destroy_bitmap(icon);
  18. al_destroy_display(display);
  19. return 0;
  20. }
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Allegro
Programación C/C++
josevc 5 2,830 Último mensaje 29 Mayo 2019, 01:50 am
por AlvaroGPE
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines