Você está na página 1de 6

METEOR KILLER

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS


FACULDADE DE CINCIAS EXATAS E TECNOLOGIAS
BACHARELADO EM SISTEMAS DE INFORMAO
COMPUTAO GRFICA
Prof. Dr. Ad!"#o$ %o&' A"()& d Cr*+
A"!$) I+!d
Adr!$o F. D$#&
D!o,o F)r$$do Tr)(!&$
%'&&!- A$dr)&& d) So*+
(o!d d)&)$.Mod)"o/!$#01
Desenha um modelo no formato OBJ. Recebe como parmetro um inteiro global indicando
qual modelo desenhar.
(o!d d)&)$.C!2Co"!&o/-!2Co"!&o 301
Desenha uma caixa de coliso em volta do objeto que esta representa.
(o!d -r!C!2Co"!&o/GLM4od)" 35 -!2Co"!&o 301
ria uma caixa de coliso a partir de um modelo. ! caixa de coliso servir" para o modelo
na posi#o $%&%&%'& assim& se o modelo estiver em uma posi#o diferente a caixa deve ser
atuali(ada.
! caixa de coliso verificar" todos os v)rtices do modelo carregado do arquivo .OBJ&
encontrando o maior e menor valor para *& + e ,. ! partir destes ) poss-vel formar uma caixa que
envolve o objeto como mostra a .igura.
! .igura mostra somente dois pontos formados por /* menor& + menor0 e por /* maior& +
menor0. Outros pontos da caixa podem ser formados levando em considera#o tamb)m o , maior e
o , menor.
(o!d d)&)$.F*$do/(o!d01
Desenha o plano de fundo do jogo.
O fundo ) uma imagem 12!. Desenha3se um quadrado em uma posi#o , bem afastada da
cmera e este ) texturi(ado com a imagem que representa o fundo.
(o!d !$!-!"!+O67)#o&/(o!d01
4niciali(a os objetos& carrega os modelos& define as posi#5es iniciais para a nave& meteoros e
tiros& define valores das vari"veis como velocidade& etc.
(o!d )$(!M)#)oro/(o!d01
6an#a meteoros. 7e tiver meteoros dispon-veis no vetor global que os representa& so criados
8 meteoros. 8 ) definido por uma vari"vel que inicia em 9% e conforme a dificuldade vai
aumentando 8 aumenta at) ser igual ao n:mero m"ximo de meteoros poss-veis.
! posi#o do meteoro ) aleat;ria& sendo esta uma posi#o dentro da "rea do game& onde
*<2!=><=484=O $ *<=>1>ORO $ *<2!=><=!*4=O& valendo o mesmo para +. ?ara a
posi#o , ) sorteada uma posi#o que v"ria de % a 9% a partir de uma posi#o m-nima para o
meteoro aparecer.
(o!d &)#C!2Co"!&o/-!2Co"!&o 35 8o$#o01
recalcula a posi#o dos pontos da caixa de coliso para o objeto em um ponto.
@ guardada a posi#o atual do objeto e a posi#o anterior& para saber quanto o mesmo se
deslocou e a partir desse valor calcular a nova posi#o da caixa de coliso.
(o!d #*"!+C!2Co"!&o/!#)4D)%o,o 301
Aerifica se o objeto se movimentou em algum eixo e atuali(a a posi#o da sua caixa de
coliso para que se movimente junto ao objeto.
(o!d #*"!+C!2Co"!&oT!ro/!#)4D)%o,o 301
!tuali(a a caixa de coliso do tiro. >sta ) diferente da fun#o que atuali(a a caixa de coliso
de um objeto porque o tiro se movimenta em uma dire#o diferente dos objetos.
(o!d d)&)$.G4)O()r/(o!d01
Desenha um plano de fundo e movimenta a cmera quando o jogador perde todas as vidas e
sua nave ) destru-da.
(o!d #*"!+rE&#do&/(o!d01
!tuali(a o estado de todos objetos& como nave& meteoros e tiros. Os meteoros so
movimentados de acordo com sua acelera#o& acontecendo o mesmo para os tiros. 1amb)m )
verificado aqui se algum objeto saiu fora da "rea do jogo ou se houve coliso da nave com algum
meteoro ou de algum tiro com algum meteoro.
!$# ()r!f!-Co"!&o/-!2Co"!&o 5 -!2Co"!&o 01
.un#o que recebe duas caixas de coliso e verifica se elas se chocam.
!$# 8o&!-oV+!M)#)oro&/(o!d01
Aarre o vetor global dos meteoros em busca da primeira posi#o va(ia. Bma posi#o passa a
ser va(ia quando o meteoro sai da tela& ou& inicialmente j" que todos esto no vis-veis.
!$# 8o&!-oV+!T!ro&/(o!d01
Bm n:mero m"ximo de tiros pode ser disparado. ada tiro fica em uma posi#o de um vetor
global. >sta fun#o varre o vetor e retorna a primeira posi#o va(ia nele para que um novo tiro seja
configurado nela /no so realocados e sim a posi#o ) resetada e ele come#a a trajet;ria
novamente0.
!$# 8o&!-oV+!E28"o&o)&/(o!d01
Aerifica uma posi#o va(ia no vetor global de explos5es e a retorna.
(o!d -o$f!,*rT)2#*r&/(o!d01
arrega e configura as texturas utili(adas a partir de arquivos 12!.
(o!d d)&)$.M)#)oro&/(o!d01
percorre o vetor de meteoros globais para ver quais esto vis-veis. 7e o meteoro estiver
vis-vel ) desenhado o modelo do meteoro na posi#o arma(enada no vetor. !ssim& so arma(enadas
v"rias posi#5es por)m& s; um modelo geom)trico.
(o!d d)&)$.E28"o&o)&/01
percorre o vetor global das posi#5es das explos5es desenhando as que esto vis-veis em suas
posi#5es.
(o!d d)&)$.T!ro&/(o!d01
Desenha os proj)teis disparados pela nave.
(o!d D)&)$.T)2#o/-.r 35!$# 5 !$#01
>screve uma mensagem de texto em uma posi#o do mundo CD.
(o!d #r#T)-"&/(o!d01
detecta quando uma tecla normal /como caractere& n:mero ou espa#o0 ) pressionada.
(o!d #)-"E&8)-!"/!$# 5 !$# 5 !$# 01
trata quando uma tecla especial /como setas0 ) pressionada.
(o!d #)-"E&8)-!"So"#/!$#5 !$# 5 !$# 01
trata quando uma tecla especial /como setas0 deixa de ser pressionada.
(o!d *4)$#D!f!-*"dd)/!$# 01
!umenta o n:mero de meteoros que so enviados de cada ve( e a velocidade com que estes
se deslocam pelo ambiente.
(o!d -o$#ro"/*$&!,$)d -.r 5 !$# 5 !$# 01
(o!d d)&)$.HUD/01
Desenha as informa#5es de Aida e ?ontua#o na tela& utili(ando a fun#o de desenho de
texto.
(o!d d)&)$./01
ontrola o desenho geral do game chamando as subrotinas de desenho.
(o!d r)d!4)$&!o$/!$# 5 !$#01
utili(ada para redimensionar o frustum de visuali(a#o e manter o aspecto de acordo com a
dimenso da tela.
(o!d #!4)rE28"o&o/!$# 01
Bm callbacD invocado a cada certo tempo que atuali(a o tamanho das explos5es fa(endo3as
desaparecer ap;s um tempo.
(o!d #!4)r/!$# 01
callbacD de tempo que envia uma nova leva de meteoros a cada certo tempo.
(o!d -o$f!,*r/01
onfigura as vari"veis 2lut e estados Open26& cria janela e chama as fun#5es necess"rias
para carregar os modelos geom)tricos.
(o!d -o$f!,*rI"*4!$-o/01
onfigura a ilumina#o do ambiente. 8o utili(ado neste game.
!$# LodTGA/T)2#*r) 3 5 -.r 3 01
arrega uma imagem 12! para uma vari"vel do tipo 1exture. >sta pode ser usada para
texturi(ar pol-gonos e modelos geom)tricos.
!$# LodU$-o48r)&&)dTGA/T)2#*r) 3 5 -.r 3 5 FILE 3 01
!$# LodCo48r)&&)dTGA/T)2#*r) 3 5 -.r 3 5 FILE 3 01
F"*2o,r4 do 7o,o
Bm fluxograma para dar uma ideia geral do fluxo do jogo.

Você também pode gostar