• Nenhum resultado encontrado

II Workshop de Sistemas de Informação

N/A
N/A
Protected

Academic year: 2021

Share "II Workshop de Sistemas de Informação"

Copied!
41
0
0

Texto

(1)
(2)

Biblioteca que oferece um conjunto de funções com o objetivo de agilizar o

desenvolvimento de aplicações gráficas.

(3)

Biblioteca gratuita e portável

destinada ao desenvolvimento de jogos e aplicações multimídia.

(4)

Ambiente de desenvolvimento integrado (IDE) gratuito

destinado ao desenvolvimento de aplicações em C e C++.

(5)

Instalando Allegro no Dev-C++

•Ferramentas -> Atualizações •Selecionar o servidor

•Check for updates •Groups -> Allegro •Versão 4.4.2

(6)

Criando o primeiro projeto...

•Arquivo -> Novo •Projeto

(7)

Rodando a aplicação...

•Ctrl + F9 – Compilar

•Ctrl + F10 – Executar

•F9 – Compilar e executar

(8)
(9)

Iniciando a programação com Allegro

Passo 1: incluir a biblioteca allegro.h

Passo 2: chamar a função allegro_init();

(10)

Obtendo informações da máquina os_type allegro_id os_multitasking cpu_vendor Exemplo 2

(11)

Iniciando o modo gráfico em Allegro

(12)

Parâmetros de set_gfx_mode()

1. Modo gráfico : Janela ou Fullscreen 2. Largura 3. Altura 4. Largura virtual 5. Altura virtual Exemplo 3 SCREEN_W SCREEN_H

(13)

Programação gráfica em Allegro

Conceitos básicos:

(14)

Programação gráfica em Allegro

Conceitos básicos:

Bitmap: matriz de pixels que representa uma imagem

(15)

Programação gráfica em Allegro

Ao ser inicializado, o Allegro cria um bitmap (screen) para representar a superfície de

(16)

Programação gráfica em Allegro

BITMAP* screen

X

(17)

Programação gráfica em Allegro

Funções gráficas oferecidas pelo Allegro:

(18)

Programação gráfica em Allegro

Funções gráficas oferecidas pelo Allegro: void textprintf(BITMAP*, FONT, int, int,

char*, ...);

(19)

Programação gráfica em Allegro

Funções gráficas oferecidas pelo Allegro: void putpixel(BITMAP*, int, int, int);

int getpixel(BITMAP*, int, int);

(20)

Programação gráfica em Allegro

Funções gráficas oferecidas pelo Allegro: hline(BITMAP*, int, int, int, int)

vline(BITMAP*, int, int, int, int)

line(BITMAP*, int, int, int, int, int);

(21)

Programação gráfica em Allegro

Funções gráficas oferecidas pelo Allegro: rect(BITMAP*, int, int, int, int,int);

circle(BITMAP*, int, int, int , int);

ellipse(BITMAP*, int, int, int, int, int);

* Existem também versões com preenchimento

(22)

Programação gráfica em Allegro

Funções gráficas oferecidas pelo Allegro: spline(BITMAP*, int*, int);

triangle(BITMAP*, int, int, int, int,int, int,int); polygon(BITMAP*, int, int*, int);

(23)

Programação gráfica em Allegro

Funções gráficas oferecidas pelo Allegro:

floodfill(BITMAP*,int,int,int);

(24)

Interação com o usuário

Recursos oferecidos pelo Allegro:

key[] – vetor que representa o estado das teclas KEY_MAX – representa o total de teclas no vetor

(25)

Interação com o usuário

Recursos oferecidos pelo Allegro:

void install_keyboard(); void remove_keyboard();

(26)

Interação com o usuário

Recursos oferecidos pelo Allegro:

void install_mouse();

void set_mouse_sprite(BITMAP*); void show_mouse(BITMAP*);

void position_mouse(int, int);

(27)

Interação com o usuário

Recursos oferecidos pelo Allegro:

mouse_b & 1 mouse_b & 2

(28)
(29)

Trabalhando com Imagens em Allegro Funções: void set_color_depth(int); BITMAP* load_bitmap(char*, RGB*);

(30)

Trabalhando com Imagens em Allegro

Funções:

void blit(BITMAP*, BITMAP*, int, int, int, int, int,int);

void destroy_bitmap(BITMAP*); Exemplo 0

(31)

Trabalhando com Imagens em Allegro

Funções:

void masked_blit(BITMAP*, BITMAP*, int, int, int, int, int,int);

Colorkey = (255, 0, 255)

(32)

Trabalhando com Imagens em Allegro

Funções:

void draw_sprite(BITMAP*, BITMAP*, int, int);

Colorkey = (255, 0, 255)

(33)

Trabalhando com Imagens em Allegro

Funções:

draw_sprite_v_flip(BITMAP*, BITMAP*, int, int); draw_sprite_h_flip(BITMAP*, BITMAP*, int, int); draw_sprite_vh_flip(BITMAP*, BITMAP*, int, int);

(34)

Trabalhando com Imagens em Allegro

Funções:

foid rotate_sprite(BITMAP*, BITMAP*, int, int, int); Rotação completa = 256

Obrigatório o uso da função itofix()

(35)

Animando Imagens em Allegro Técnica 1: carregamento de várias imagens

void AnimaSprite() {

draw_sprite(screen,imagem[iQuadroAtual],iPosX,300); iQuadroAtual = (iQuadroAtual>4)? 0: ++iQuadroAtual; }

(36)

Animando Imagens em Allegro Técnica 2: carregamento uma imagem com vários

quadros e utilizando buffer duplo (Exemplo 6).

void DesenhaSprite(BITMAP* buffer){

int iCoordenadaX = (iQuadroAtual % (sprite->w/iLarguraQuadro)) * iLarguraQuadro;

int iCoordenadaY = (iQuadroAtual / (sprite->w/iLarguraQuadro)) * iAlturaQuadro;

masked_blit(sprite,buffer,iCoordenadaX,iCoordenadaY, iPosX, iPosY, iLarguraQuadro, iAlturaQuadro);

iQuadroAtual = (iQuadroAtual>=iQtdQuadros-1)?0:++iQuadroAtual; }

(37)

Entendendo o conceito de layers Técnica utilizada para a criação de cenários

(38)

Entendendo o conceito de layers Técnica utilizada para a criação de cenários

(39)
(40)

Links úteis •Allegro: http://alleg.sourceforge.net/ • Dev-C++ http://www.bloodshed.net/de vcpp.html

(41)

Referências

Documentos relacionados

416/2001 imponha ao construtor a obrigatoriedade de instalação de galeria coberta contígua ao passeio público, sabe-se que este só servirá como proteção à chuva e à

Todos os resultados são armazenados automaticamente no banco de dados e podem ser facilmente armazenados em backup e transferidos para outros equipamentos. Nunca perca seus

opção e por amor, aqui estamos para agradecer e dizer que sem vocês não chegaríamos aqui e chegaríamos aqui e. que

Foram avaliados os resultados das medi- ções efetuadas na área externa (rua) em frente aos templos, onde se pôde considerar que em frente a Igreja Batista da Restauração foi a rua

Dentro deste contexto, o presente trabalho teve como objetivo a avaliação da influência da razão grãos e água de maceração, tempo de cozimento e tempo de molho na obtenção de

Núbia e ainda o pre- sidente da Associação dos Especialistas em Políti- cas e Gestão de Saúde do Estado de Minas Gerais (AEPGS), Gustavo Ribei- ro Bedran, foram

A média global das disciplinas cursadas no Departamento de Teologia da FAJE em vista da obtenção do Doutorado deverá atingir a nota 8,0 (oito). Alunos que ingressaram no Programa

· Indicações sobre cuidados médicos urgentes e tratamentos especiais necessários Não existe mais nenhuma informação relevante disponível.. 5 Medidas de combate