UniDev - Programação de Jogos • View topic - GS_VECTOR2 Colisão


[ +/- ] [ Hoje é 09 Set 2010, 19:29 ]


Post a new topicWrite comments Page 1 of 1   [ 6 posts ]
Author Message
 Post subject: GS_VECTOR2 Colisão
PostPosted: 04 Fev 2009, 14:57 
Membro

Joined: 06 Jan 2008, 11:21
Posts: 32
Location: Brasil
Ola !

Quero estou fazendo um jogo de navezinhas, e ela é movida pelo mouse.

Estou com problemas para fazer a colisão do mouse ( sprite ) com as bordas da tela e com outras sprites !

Por Exemplo:

bool colisao ( GS_VECTOR2 MousePos)
{

if ( MousePos ( -5,-5 ) || MousePos < (570,410 ) )
{

return true;
}

else
{
return false;
}
}


Isso não dá certo ! Ele apresenta erro no "<"e ">" !!

Como faço para comparar cordenatas do GS_VECTOR2 ?

Eu usei:

GS_VECTOR2 MousePos = Input.GetCursorF(&Video);

colisao ( MousePos );


Obrigado !


Topo
 Profile  
 
 Post subject:
PostPosted: 04 Fev 2009, 17:22 
Administrador
User avatar

Joined: 30 Ago 2002, 19:16
Posts: 440
Location: Brasil
É muito simples:

if (MousePos.x < -5 || MousePos.x > 570)
{
// tananam
}

if (MousePos.y < -5 || MousePos.y > 410)
{
// tananam
}

Não se esqueça que GS_VECTOR2 é uma estrutura com membros x e y. Na dúvida, se você não está sabendo utilizar o construtor sobrecarregado, utilize os membros individualmente.

_________________
André Santee
ImageEthanon Engine: http://www.asantee.net/ethanon/
Página pessoal: http://www.asantee.net/


Topo
 Profile  
 
The following user would like to thank andrew1b for his or her post: Guest
 Post subject: Re: GS_VECTOR2 Colisão
PostPosted: 15 Dez 2009, 10:43 
Membro

Joined: 01 Jan 2008, 09:16
Posts: 9
Location: Brasil
Uma sugestão : Poderiam ser feito dois métodos : Colide e ColidePixel.

Na primeira passariamos dois sprites como parâmetros e a função retornaria TRUE ou FALSE de acordo. A segunda seria uma colisão mais precisa onde só retornaria TRUE se um ou mais pixels estivesse dentro do sprite, ignorando a parte de fundo transparente de ambos os sprites.


Topo
 Profile  
 
 Post subject: Re: GS_VECTOR2 Colisão
PostPosted: 17 Dez 2009, 12:06 
Administrador
User avatar

Joined: 30 Ago 2002, 19:16
Posts: 440
Location: Brasil
A sugestão é bem pertinente. No entanto existem algumas barreiras. Como a GSlib se baseia numa API moderna, os pixels ficam em texturas armazenadas em buffers do Direct3D o que é normalmente de difícil acesso. Mas vou anotar a sugestão.

_________________
André Santee
ImageEthanon Engine: http://www.asantee.net/ethanon/
Página pessoal: http://www.asantee.net/


Topo
 Profile  
 
 Post subject: Re: GS_VECTOR2 Colisão
PostPosted: 17 Dez 2009, 12:56 
Membro

Joined: 01 Jan 2008, 09:16
Posts: 9
Location: Brasil
Eu fiz um engine tempos atrás para VB com multiplas funções que facilitavam a vida do programador para programação de Jogos com DirectX. Foquei o desenvolvimento nos obejtos para jogos em 2D, mas tinha Som, entrada de dados (Joystick, mouse, teclado) e estava iniciando a parte de rede. O projeto não ganhou muita atenção do pessoal do VBMANIA onde postei e nem no PDJ , então desisti do mesmo. :cry: Até porque veio a MS e lançou a versão 8 do DirectX e juntou a parte de 2D e 3D numa coisa só, então até para colocar um bimap na tela precisava montar duas faces a aplicar a textura... :)

O objeto SPRITE tinha duas funções que achei muito interessantes : AdicionarAção e ExecutarAção. Na primeira você informava o nome da ação e início e fim dos sprites dentro do arquivo de imagem (JPG, GIF, BMP podiam ser utilizados).

Ex.: supondo o sprite HERO.

HERO.AdicionarAção ("Correr", 1,5)
HERO.AdicionarAção ("Andar", 6,10)

Então para executar a ação de correr :

HERO.ExecutarAção ("Correr") e o objeto tratava a animação de correr ou outra previamente configurada.


Topo
 Profile  
 
 Post subject: Re: GS_VECTOR2 Colisão
PostPosted: 18 Dez 2009, 18:08 
Administrador
User avatar

Joined: 30 Ago 2002, 19:16
Posts: 440
Location: Brasil
Isso é bem interessante. É possível implementar este sistema somente herdando a classe GS_SPRITE. Outra sugestão anotada.

_________________
André Santee
ImageEthanon Engine: http://www.asantee.net/ethanon/
Página pessoal: http://www.asantee.net/


Topo
 Profile  
 
Display posts from previous:  Sort by  
Post a new topicWrite comments Page 1 of 1   [ 6 posts ]
Similar topics
Sistema Colisão em BSP
Forum: OpenGL
Author: alex_r
Replies: 2
Problemas com Colisão + Animação!
Forum: Blitz Basic
Author: pexe
Replies: 7
Colisão entre Linha e Parede (com sample T_T)
Forum: Shockwave e Flash
Author: cloudcamaleoniv
Replies: 1
Colisão no Blitz 3D
Forum: Blitz Basic
Author: henrique666
Replies: 26
Colisão 2D numa imagem irregular?
Forum: Blitz Basic
Author: Eric Draven
Replies: 1
Topo


Who is online

Users browsing this forum: Nenhum usuario registrado and 1 guest


Voce não pode criar topicos neste forum
Voce não pode responder topicos neste forum
Voce nao pode editar seu post neste forum
Voce nao pode deletar seu post neste forum

Search for:
Jump to:  



Powered by phpBB ©

Virtual Object Informática Ltda. Fone/Fax: (15)3231-6840

Portal XL 5.0 ~ Premod 0.2 phpBB SEO