Dúvida sobre colisão

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Dúvida sobre colisão

Mensagem por douglaslds em Sex 15 Out 2010, 16:15

Olá pessoal(estoudevoltamasseiqninguemselembrademim:D)!

Eu queria saber como que eu faço para q um objeto ao estar em colisão com dois outros objetos vá para onde está mais colisionado!(novapalavraparaoportugues?)

Ex:



No caso a área do objeto azul está mais no objeto preto então eu queria q ele fosse o centro do objeto preto e , caso sua área estivesse mais no objeto verde q ele fosse para o centro do objeto verde(entendeu?)

Se alguém puder ajudar...Very Happy

douglaslds

Número de Mensagens : 172
Idade : 21
Data de inscrição : 29/12/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Dúvida sobre colisão

Mensagem por y_Tiago em Sex 15 Out 2010, 16:25

Use if.
Meça o comprimento da colisão e coloque para que se x (verde) for maior ir para centro do verde e depois se y (preto) for maior ir para centro do preto.

Código:

x=comprimento da colisao do azul com o verde
y=comprimento da colisao do azul com o preto

if (x>y) {
//colocar o obj azul no centro do obj verde
} else {
if (x<y) {
//colocar o obj azul no centro do obj preto
}
Só não sei como medir.



Uploaded with ImageShack.us

y_Tiago

Número de Mensagens : 149
Idade : 19
Data de inscrição : 13/10/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Dúvida sobre colisão

Mensagem por douglaslds em Sex 15 Out 2010, 16:56

Seu script tem lógica mas o q eu queria que o próprio objeto checasse sua posição e colisão com outros objetos automaticamente.



douglaslds

Número de Mensagens : 172
Idade : 21
Data de inscrição : 29/12/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Dúvida sobre colisão

Mensagem por y_Tiago em Sex 15 Out 2010, 17:03

Código:
a = area azul (10)
b = area verde (2)
c = area preta (4)
d = area amarela1
e = area amarela2

x = a + b - d
//faça algo para pegar o valor da area amarela1 (lembre-se que ele é menor que a+b)

y = a + c - e
//faça algo para pegar o valor da area amarela2 (lembre-se que ele é menor que a+c)

Daí é só usar o codigo anterior para saber o maior e colocar no centro de um.



Uploaded with ImageShack.us

y_Tiago

Número de Mensagens : 149
Idade : 19
Data de inscrição : 13/10/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Dúvida sobre colisão

Mensagem por douglaslds em Sex 15 Out 2010, 17:31

Acho que seria muito trabalhoso esse seu método e não seria muito viável já que essa colisão acontecerá constantemente(estou querendo fazer um jogo de damas), eu queria fazer isso já para no futuro eu não ter nenhum problema, até pq eu vou ter que colocar em código todas as jogadas possíveis(parece dificil mais eu já fiz isso antes Very Happy), fazendo assim eu até poderia fazer uma IA inteligente, mas voltando ao tópico...

Todos o quadrados tem o mesmo tamanho então acho que deva haver algum script mais simples.

A colisão mais freqüente(como o movimento será com o auxilio do mouse,com certeza quem for jogar irá fazer isso alguma vez, e isso no futuro pode gerar alguns bugs):




douglaslds

Número de Mensagens : 172
Idade : 21
Data de inscrição : 29/12/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Dúvida sobre colisão

Mensagem por y_Tiago em Sex 15 Out 2010, 18:12

Você pode colocar 4 masks no obj azul, uma em cada 'quarto(1/4)' do obj.
Assim, você centraliza o obj azul aonde a mask estiver completamente em cima do outro obj.


Uploaded with ImageShack.us
Nesse caso, o obj azul centralizaria na casa 2.
E mais, para evitar um futuro bug se o obj azul ficar no meio das 4 casas, você coloca uma preferencia.
Ex.: Se a mask estiver na casa 2 e na acima dela, dar preferencia a mask x (que pode ser qualquer uma delas).

y_Tiago

Número de Mensagens : 149
Idade : 19
Data de inscrição : 13/10/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Dúvida sobre colisão

Mensagem por douglaslds em Sex 15 Out 2010, 18:26

Parece que agora sim!

Como eu nunca fui de mexer com mask...Como que eu adiciono mais de uma mask?

Vlw!

douglaslds

Número de Mensagens : 172
Idade : 21
Data de inscrição : 29/12/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Dúvida sobre colisão

Mensagem por y_Tiago em Sex 15 Out 2010, 18:27

Aí eu já não sei.
xD

y_Tiago

Número de Mensagens : 149
Idade : 19
Data de inscrição : 13/10/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Dúvida sobre colisão

Mensagem por douglaslds em Sex 15 Out 2010, 18:35

0_o

Agora euri

De volta ao zero!

Mas do jeito que vc disse me fez pensar de uma maneira semelhante mas usando objs invisiveis, mas pode ser q haja algum bug, mas vou tentar!

Se alguem tiver outra sugestão...


douglaslds

Número de Mensagens : 172
Idade : 21
Data de inscrição : 29/12/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Dúvida sobre colisão

Mensagem por Conteúdo patrocinado Hoje à(s) 09:51


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum