Buscar

Tutorial bilioteca gráfica Libegl

Prévia do material em texto

LibEGL
Algoritmos e Programação em C++ 
Fernando Marson
LibEGL
• Biblioteca para criação de jogos 2D criada pelo 
professor Farlei Heinen.
• Baseada na SDL.
• Trabalha com imagens, sons, fontes e mapas.
• Permite a criação de interfaces simples, com leitura 
através do teclado e do mouse.
• Site: http://github.com/farlei/libEGL
Organização
• A libEGL está organizada em duas pastas:
• libEGL
• Contém todos os arquivos necessários para a compilação dos 
projetos.
• projetos
• Contém as pastas de projeto. Para poder compilar um projeto 
ele deve estar localizado dentro desta pasta.
Projeto Base
• Para criar um projeto é necessário usar o 
projeto base.
• Faça uma cópia do base_2010 e renomeie 
para o nome do seu projeto.
• Dentro do projeto base temos uma pasta bin
onde ficará o arquivo executável do jogo 
(base.exe), as bibliotecas necessárias para 
execução (dll’s) e os arquivos de imagem, som 
e fontes usadas pelo projeto.
Imagem
• Declaração
imagem nome_variavel;
• Métodos
carregar(nome_do_arquivo_de_imagem)
• Carrega uma imagem do disco para a memória.
desenha(x, y)
• Desenha a imagem carregada.
desenha_rotacionado(x, y, angulo)
• Desenha a imagem carregada rotacionada.
Imagem
• Métodos
getResX( )
• Retorna a resolução da imagem no eixo X.
getResY( )
• Retorna a resolução da imagem no eixo Y.
setar_tempo_animacao(tempo_milisegundos)
• Define o tempo que cada frame da animação irá ficar 
desenhado na tela.
Imagem
• Métodos
colide(imagem1_posicao_x, imagem1_posicao_y, 
imagem1.getResX(), imagem1.getResY(), 
imagem2_posicao_x, imagem2_posicao_y, 
imagem2.getResX(), imagem2.getResY(), 
&imagem2);
• Testa se existe colisão entre duas imagens. Se existir, o 
método retornará true, caso contrário o retorno será 
false.
Som
• Declaração
som nome_variavel;
• Métodos
carregar(nome_do_arquivo_de_som)
• Carrega um som do disco para a memória.
tocar()
• Toca o som carregado.
parar()
• Para de tocar o som carregado.
Fonte
• Declaração
fonte nome_variavel;
• Métodos
carregar(nome_do_arquivo_ttf)
• Carrega um arquivo de fonte para a memória. O 
tamanho padrão é 16.
carregar(nome_do_arquivo_ttf, tamanho)
• Carrega um arquivo de fonte para a memória e seta o 
seu tamanho.
Fonte
• Métodos
desenha_texto(texto, x, y, r, g, b)
• Escreve na tela um determinado texto na posição x e y, 
com a cor definida por r, g e b. As componentes r, g, b 
variam de 0 até 255.
Teclas
• Para verificar se uma determinada tecla foi 
pressionada usar o key.
• key[SDLK_tecla]
• Exemplos
SDLK_UP
SDLK_DOWN
SDLK_ESCAPE
SDLK_a
Interface
• Declaração
Interface gui;
• Métodos
adicionaComponente(Botao ou Menu);
• Insere um componente de interface: botão ou menu.
desenha();
• Desenha a interface e seus componentes na tela.
gui.verificaEventos(EVENTO);
• Verifica se um item foi pressionado.
Interface
• Métodos
• gui.verificaEventosJanela(EVENTO); 
Verifica se um item da janela foi pressionado.
Componentes
• Inclui um botão clicável na interface.
• Botao(id,x,y, normal, clique, hover));
• Inclui um menu clicável na interface.
• ItemMenu(id, "Texto", x, y, largura, altura);
• Método
• setarFonte("fonte.ttf",16,true);
14
Primitivas
• egl_linha(x1,y1, x2, y2, r, g, b, a);
• egl_retangulo(x1,y1, x2, y2, r, g, b);
• egl_retangulo_arredondado(x1,y1, x2, y2, r, g, b, a);
• egl_pixel(x,y, r, g, b);
• egl_depurar(“Texto",variável);
15

Continue navegando