Até que enfim
vi um uso produtivo com Allegro,
Geral usando engine pronta
não aprende fazer metade doque quem cria assim.
Mesmo sendo o mais comun juntando os 2
Muito bom sky.
Parabens.
info
Grupo: Visconde
Registrado: 13/10/11
Posts: 411
Reputação: +65

Até que enfim
vi um uso produtivo com Allegro,
Geral usando engine pronta
não aprende fazer metade doque quem cria assim.
Mesmo sendo o mais comun juntando os 2
Muito bom sky.
Parabens.
info
Grupo: Lorde
Registrado: 17/01/09
Posts: 2.1k
Reputação: +395
Char no Tibia: Adra Sata

Até que enfim
vi um uso produtivo com Allegro,
Geral usando engine pronta
não aprende fazer metade doque quem cria assim.
Mesmo sendo o mais comun juntando os 2
Muito bom sky.
Parabens.
vlw
)
info
Grupo: Lorde
Registrado: 17/01/09
Posts: 2.1k
Reputação: +395
Char no Tibia: Adra Sata
Estou fazendo um jogo do mario em C, usando o allegro no linux, ai vou disponibilizar o começo do jogo que fiz hoje de manhã, caso queria pegar de base.
Ai só estudar e começar a desenvolver, vou colocar músicas no fundo, no pulo , bichos que ataca e colisões com objetos, mais pra frente
]#include <stdio.h> #include <stdlib.h> #include <allegro.h> #define MAX_X 1280 #define MAX_Y 400 #define V_MAX_X 0 #define V_MAX_Y 0 #define COLOR_BITS 16 int inicia(void); void bitmap_fundo(void); void bitmap_mario(int, int); void principal(void); void finaliza(void); BITMAP* buf; BITMAP* fundo; BITMAP* mario; int main(void) { if (!inicia()) { finaliza(); return -1; } principal(); finaliza(); return 0; } END_OF_MAIN(); int inicia(void) { allegro_init(); install_keyboard(); set_color_depth(COLOR_BITS); if (set_gfx_mode(GFX_AUTODETECT_WINDOWED, MAX_X, MAX_Y, V_MAX_X, V_MAX_Y) < 0) { printf("Erro ao inicializar o modo grafico.\n"); return (FALSE); } set_palette(desktop_palette); buf = create_bitmap(MAX_X, MAX_Y); fundo = load_bitmap ("fundo.bmp", NULL); mario = load_bitmap ("mario.bmp", NULL); return (TRUE); } void bitmap_fundo(void) { draw_sprite (buf, fundo, 0, 0); } void bitmap_mario(int x, int y) { draw_sprite (buf, mario, x, y); } void principal(void) { int x = 0; int y = 354; int esq = 1; int dir = 0; bitmap_fundo(); bitmap_mario(x, y); draw_sprite (screen, buf, 0, 0); while (!key[KEY_ESC]) { if (key[KEY_UP]) { y = y-4; if(y<0) {y=0;} if(esq == 1) { bitmap_mario(x, y); } else { bitmap_mario(x, y); } draw_sprite (screen, buf, 0, 0); } if (key[KEY_DOWN]) { y = y+4; if(y>1024-100) {y=1024-100;} if(esq == 1) { bitmap_mario(x, y); } if(dir == 1) { bitmap_mario(x, y); } draw_sprite (screen, buf, 0, 0); } if (key[KEY_LEFT]) { x = x-4; if(x<0) {x=0;} bitmap_mario(x, y); draw_sprite (screen, buf, 0, 0); esq = 1; dir = 0; } if (key[KEY_RIGHT]) { x = x+4; if(x>1280-263) {x=1280-263;} bitmap_mario(x, y); draw_sprite (screen, buf, 0, 0); esq = 0; dir = 1; } bitmap_fundo(); clear_keybuf(); } } void finaliza (void) { allegro_exit(); }IMAGENS:
não consigo upar o fundo --', muito grande ..
Baixar a biblioteca Allegro:
Download Aqui
Após a conclusão do download abra um terminal e descompacte-o:
$ tar -zxvf allegro-4.0.3-rc2.tar.gz
$ cd allegro-4.0.3
Agora basta finalizar o processo seguindo os passos abaixo:
$ ./fix.sh unix
$ ./configure
$ make
# make install
Compilar:
gcc nome do programa -Wall -lalleg
Executar:.
./a.out
Editado Janeiro 21 por Lordfire