Últimos assuntos
» CR - Concurso Relâmpago!!
por Willy Ter 18 Jul 2017, 17:11

» 3D:como rodar a camara em horizontal?
por Cambalinho Ter 18 Jul 2017, 15:09

» [Resolvido] pode explicar a d3d_set_projection()?
por Cambalinho Ter 18 Jul 2017, 11:28

» Escrever a resposta certa muda de room
por PedroX Seg 17 Jul 2017, 21:46

» Nota de esclarecimento - GMBR voltou!
por Mentos e Coca-cola Seg 17 Jul 2017, 17:05

» [CR] Campo Minado
por Katerp Dom 16 Jul 2017, 23:09

» [CR] The Bazooka Cat
por Tedi Ripper Dom 16 Jul 2017, 23:01

» Como melhorar um protótipo(Design)
por lolandoplayer Dom 16 Jul 2017, 22:56

» Diminuir velocidade ao arrastar objeto
por LwysF Dom 16 Jul 2017, 17:33

» Ajuda para mecanismo do jogo
por Willy Dom 16 Jul 2017, 15:54

Estatísticas
Temos 12700 usuários registrados
O último usuário registrado atende pelo nome de Eduardo Gomes

Os nossos membros postaram um total de 220918 mensagens em 30411 assuntos

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
avatar
douglaslds

Data de inscrição : 29/12/2009
Número de Mensagens : 172
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

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
avatar
y_Tiago

Data de inscrição : 13/10/2010
Número de Mensagens : 149
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

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.


avatar
douglaslds

Data de inscrição : 29/12/2009
Número de Mensagens : 172
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

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
avatar
y_Tiago

Data de inscrição : 13/10/2010
Número de Mensagens : 149
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

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):



avatar
douglaslds

Data de inscrição : 29/12/2009
Número de Mensagens : 172
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

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).
avatar
y_Tiago

Data de inscrição : 13/10/2010
Número de Mensagens : 149
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

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!
avatar
douglaslds

Data de inscrição : 29/12/2009
Número de Mensagens : 172
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

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
avatar
y_Tiago

Data de inscrição : 13/10/2010
Número de Mensagens : 149
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

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...

avatar
douglaslds

Data de inscrição : 29/12/2009
Número de Mensagens : 172
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

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