SlideShare uma empresa Scribd logo
1 de 27
Visão Geral e Introdução à Biblioteca Allegro para Programação de Jogos Autor: Pedro Demasi E-mail: demasi@ufrj.br
Instalando o Allegro ,[object Object],[object Object],[object Object],[object Object]
Passos Básicos ,[object Object],[object Object],[object Object],[object Object]
Configurações Iniciais ,[object Object],[object Object],[object Object]
Configurando o Som ,[object Object],if(install_sound(DIGI_AUTODETECT,MIDI_AUTODETECT,NULL) < 0) { /* Mensagem de Erro */ } ,[object Object],set_volume(255,255); /* som digital e música; 0 a 255 */
Configurando o Modo Gráfico ,[object Object],#define MAX_X 640 #define MAX_Y 480 (...) if(set_gfx_mode(GFX_AUTODETECT,MAX_X,MAX_Y,0,0) < 0) { /* Mensagem de Erro */ } ,[object Object]
Configurando o Modo Gráfico ,[object Object],set_color_depth(8);  /* 256 cores */ set_color_depth(16); /* 65536 cores */ set_color_depth(24); /* 32 milhões de cores */ set_color_depth(32); /* 4 bilhões de cores */ ,[object Object],[object Object],[object Object]
Esqueleto de Programa #include <stdlib.h> #include <allegro.h> #define MAX_X 640 #define MAX_Y 480 int inicia(void) { allegro_init(); install_keyboard(); install_mouse(); install_timer(); if (install_sound(DIGI_AUTODETECT,MIDI_AUTODETECT,NULL) < 0) { printf(&quot;Erro ao tentar iniciar placa de som!&quot;); return(FALSE); } set_volume(255,255); set_color_depth(8); if (set_gfx_mode(GFX_AUTODETECT,MAX_X,MAX_Y,0,0) < 0) { printf(&quot;Erro ao tentar iniciar modo de video!&quot;); return(FALSE); } return(TRUE); } void main(void) { if (!inicia()) exit(-1); /* continua o programa */ allegro_exit(); }
Usando o Som ,[object Object],[object Object],/* declaração das variáveis que guardarão sons e músicas */ SAMPLE *som1,*som2;  /* SAMPLE = arquivos de som digital */ MIDI *musica;  /* MIDI = arquivos de música */ /* carrega os arquivos usando-se as respectivas funções */ som1 = load_wav(“arquivo.wav”);  /* para arquivos wav */ som2 = load_voc(“arquivo.voc”);  /* para arquivos voc */ musica = load_midi(“arquivo.mid”); /* para arquivos mid */ ,[object Object]
Usando o Som ,[object Object],/* Exemplo para tocar um arquivo MIDI */ MIDI *musica; /* declaração da variável a ser usada */ musica = load_midi(“musica.mid”); /* carrega arquivo */ play_midi(musica,TRUE); /* toca a música em loop */ ,[object Object]
Usando o Som ,[object Object],/* Exemplo para tocar um arquivo de som WAV */ SAMPLE *som; /* declaração da variável a ser usada */ som = load_wav(“som.wav”); /* carrega arquivo */ play_midi(musica,255,128,1000,FALSE); /* toca som */
Usando o Teclado ,[object Object],[object Object],[object Object]
Usando o Teclado ,[object Object],[object Object],[object Object],if (key[KEY_ESC]) allegro_exit();
Usando o Teclado ,[object Object],[object Object],[object Object],/* equivalente a  ch = getch();  usando conio.h */ ch = readkey() & 0xFF;
Usando o Teclado ,[object Object],/* Esvazia o buffer */ clear_keybuf(); /* fica em loop até que uma tecla seja pressionada */ while (!keypressed()); /* fica em loop até a tecla ENTER ser pressionada */ while (!key[KEY_ENTER]); /* aguarda uma tecla e verifica se foi “s” */ tecla = readkey() & 0xFF; if (tecla == ‘S’ || tecla == ‘s’) exit(0);
Usando o Vídeo - Bitmaps ,[object Object],[object Object],[object Object]
Usando o Vídeo - Primitivas ,[object Object],[object Object],[object Object],clear_to_color(screen,4);  /* cor 4, em geral, vermelho */ putpixel(screen,234,123,0); /* cor 0, em geral, preto */ ,[object Object]
Usando o Vídeo - Texto ,[object Object],[object Object],[object Object],[object Object],text_mode(-1); textout(screen,font,”Testando texto...”,200,200,0);
Usando o Vídeo - Paleta ,[object Object],[object Object],[object Object]
Usando o Vídeo - Imagens ,[object Object],[object Object],/* declaração das variáveis que guardarão imagens */ BITMAP *img1,*img2;  /* arquivos de BITMAP */ PALETTE pal1,pal2;  /* paletas */ /* carrega os arquivos usando-se as respectivas funções */ img1 = load_pcx(“img.pcx”,pal1);  /* para arquivos pcx */ img2 = load_bmp(“img.bmp”,pal2);  /* para arquivos bmp */ ,[object Object]
Usando o Vídeo - Imagens ,[object Object],[object Object],BITMAP *img; PALETTE pal; img = load_pcx(“img.pcx”,pal); set_palette(pal); draw_sprite(screen,img,100,100);
Usando o Vídeo - Imagens ,[object Object],[object Object],[object Object]
Usando o Vídeo - Animação ,[object Object],[object Object],[object Object],BITMAP *tela; /* declaração da variável */ tela = create_bitmap(MAX_X,MAX_Y); /* alocando espaço */ destroy_bitmap(tela); /* destruindo, no fim do programa */
Usando o Mouse ,[object Object],[object Object],show_mouse(screen);  /* mostra o mouse na tela */ show_mouse(NULL);  /* esconde o mouse */
Usando o Mouse ,[object Object],[object Object],[object Object],[object Object]
Tópicos Adicionais & Avançados ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Como Obter Mais Ajuda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Mais conteúdo relacionado

Mais procurados (19)

SubProgramas
SubProgramasSubProgramas
SubProgramas
 
Ficha javacc
Ficha javaccFicha javacc
Ficha javacc
 
mod3-programação-estruturada
mod3-programação-estruturadamod3-programação-estruturada
mod3-programação-estruturada
 
JavaCC
JavaCCJavaCC
JavaCC
 
Conjunto de instruções mips - introdução
Conjunto de instruções mips - introduçãoConjunto de instruções mips - introdução
Conjunto de instruções mips - introdução
 
Linguagem C - Funções
Linguagem C - FunçõesLinguagem C - Funções
Linguagem C - Funções
 
Programando em python interfaces graficas com tk
Programando em python   interfaces graficas com tkProgramando em python   interfaces graficas com tk
Programando em python interfaces graficas com tk
 
47612195 apostila-de-scilab
47612195 apostila-de-scilab47612195 apostila-de-scilab
47612195 apostila-de-scilab
 
Apostila Visualg
Apostila VisualgApostila Visualg
Apostila Visualg
 
Apostila De Visualg
Apostila De VisualgApostila De Visualg
Apostila De Visualg
 
Assembly
AssemblyAssembly
Assembly
 
Programação em C
Programação em CProgramação em C
Programação em C
 
Pged 02
Pged 02Pged 02
Pged 02
 
Aula 3
Aula 3Aula 3
Aula 3
 
Algoritmos e lp parte 5-subalgoritmos
Algoritmos e lp parte 5-subalgoritmosAlgoritmos e lp parte 5-subalgoritmos
Algoritmos e lp parte 5-subalgoritmos
 
Visualg
VisualgVisualg
Visualg
 
Java3
Java3Java3
Java3
 
Simulink -oliveira
Simulink  -oliveiraSimulink  -oliveira
Simulink -oliveira
 
Resumo assembly x86 16 bits
Resumo assembly x86 16 bitsResumo assembly x86 16 bits
Resumo assembly x86 16 bits
 

Semelhante a Introdução à Biblioteca Allegro para Jogos

Semelhante a Introdução à Biblioteca Allegro para Jogos (20)

73678283 biblioteca-allegro-aula
73678283 biblioteca-allegro-aula73678283 biblioteca-allegro-aula
73678283 biblioteca-allegro-aula
 
Apresentação tcd
Apresentação tcdApresentação tcd
Apresentação tcd
 
Aprendendo objective c - parte 1
Aprendendo objective c - parte 1Aprendendo objective c - parte 1
Aprendendo objective c - parte 1
 
Minicurso pygame
Minicurso pygameMinicurso pygame
Minicurso pygame
 
aula5_python.pdf
aula5_python.pdfaula5_python.pdf
aula5_python.pdf
 
2 funcoes e estrutura de blocos
2   funcoes e estrutura de blocos2   funcoes e estrutura de blocos
2 funcoes e estrutura de blocos
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/
 
Python Emsl2009
Python Emsl2009Python Emsl2009
Python Emsl2009
 
Visualg2_manual.pdf
Visualg2_manual.pdfVisualg2_manual.pdf
Visualg2_manual.pdf
 
Apresentação pygame
Apresentação pygameApresentação pygame
Apresentação pygame
 
Apostila de-arduino
Apostila de-arduinoApostila de-arduino
Apostila de-arduino
 
Cartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdfCartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdf
 
Apostila C++ básico - Apostilando.com
Apostila C++ básico - Apostilando.comApostila C++ básico - Apostilando.com
Apostila C++ básico - Apostilando.com
 
Utilizandoo winplot
Utilizandoo winplotUtilizandoo winplot
Utilizandoo winplot
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascal
 
Função malloc
Função mallocFunção malloc
Função malloc
 
C++ basico
C++ basicoC++ basico
C++ basico
 
C ou c++
C ou c++C ou c++
C ou c++
 
06 breve histórico do action script - Flash 8
06 breve histórico do action script - Flash 806 breve histórico do action script - Flash 8
06 breve histórico do action script - Flash 8
 
Usando o winplot
Usando o winplotUsando o winplot
Usando o winplot
 

Introdução à Biblioteca Allegro para Jogos

  • 1. Visão Geral e Introdução à Biblioteca Allegro para Programação de Jogos Autor: Pedro Demasi E-mail: demasi@ufrj.br
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. Esqueleto de Programa #include <stdlib.h> #include <allegro.h> #define MAX_X 640 #define MAX_Y 480 int inicia(void) { allegro_init(); install_keyboard(); install_mouse(); install_timer(); if (install_sound(DIGI_AUTODETECT,MIDI_AUTODETECT,NULL) < 0) { printf(&quot;Erro ao tentar iniciar placa de som!&quot;); return(FALSE); } set_volume(255,255); set_color_depth(8); if (set_gfx_mode(GFX_AUTODETECT,MAX_X,MAX_Y,0,0) < 0) { printf(&quot;Erro ao tentar iniciar modo de video!&quot;); return(FALSE); } return(TRUE); } void main(void) { if (!inicia()) exit(-1); /* continua o programa */ allegro_exit(); }
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.