Baixe o app para aproveitar ainda mais
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
Compartilhar