Colisão retangular?!

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

Colisão retangular?!

Mensagem por namikazealexandre em Seg 23 Dez 2013, 20:47

Bom, eu preciso saber se há algum objeto em determinado espaço... Para isso eu preciso de uma função que verifique se há algum objeto em uma área X.
Bem... Para isso, me veio primeiramente a função place_free na mente. Porém, que eu saiba ela só serve para verificar um ponto e não uma área. Então, eu pensei em usar colisão retangular. Mas não sei se vai funcionar da forma que eu quero...
E ainda tem o fator, de que após a detecção do objeto na área (caso ocorra), eu quero mudar o objeto detectado por outro objeto.
Então... as perguntas são:
É melhor usar um loop de place_free para checar ao longo da área toda?
Posso usar a colisão retangular?

Quero que, se possivel, além de responder e me dar noção de como implementar a solução certa, ainda me indiquem as funções necessárias para trocar o objeto detectado por outro.

namikazealexandre

Número de Mensagens : 52
Data de inscrição : 31/05/2013
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: Colisão retangular?!

Mensagem por Black Studio em Seg 23 Dez 2013, 21:01

Código:
collision_rectangle(x1,y1,x2,y2,obj,prec,notme) //This function tests whether there is a collision between the (filled) rectangle with the indicated opposite corners and entities of object obj. For example, you can use this to test whether an area is free of obstacles.
Tradução, essa função testa se tem uma colisão entre a area retangular preenchida indicada nas quinas e as entidades do Objeto obj, por exemplo voce pode usar isso para ver se uma area esta livre de obstaculos!

Black Studio

Ranking : Nota C
Número de Mensagens : 337
Idade : 18
Data de inscrição : 19/10/2011
Notas recebidas : C + C
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: Colisão retangular?!

Mensagem por makgamer em Seg 23 Dez 2013, 21:03

cara place_free ficaria completamente inviavel rsrs para uma area de 32x32 ia ser umas 500 linhas de códigos.
o melhor mesmo é usar da seguinte forma:
Código:
if x>x_inicial_do_espaço and x<x_final_do_espaço and y>y_inicial_do_espaço and y<y_final_do_espaço{instance_change(objeto_que_vai_ficar_no_meu_lugar,true);}
substitua os valores sem noção auto explicativos que eu coloquei ai rsrs
espero ter ajudado
Funkbuster escreveu:
Código:
collision_rectangle(x1,y1,x2,y2,obj,prec,notme) //This function tests whether there is a collision between the (filled) rectangle with the indicated opposite corners and entities of object obj. For example, you can use this to test whether an area is free of obstacles.
Tradução, essa função testa se tem uma colisão entre a area retangular preenchida indicada nas quinas e as entidades do Objeto obj, por exemplo voce pode usar isso para ver se uma area esta livre de obstaculos!
colisão retangular é inviavel nesta situação também pois teria que sair listando todos os objetos que você quer checar, da minha forma é só colocar isto no step dos objetos que você quer checar, é mais simples também...

makgamer

Ranking : Nota D
Número de Mensagens : 927
Idade : 18
Data de inscrição : 29/03/2009
Notas recebidas : D
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   : 1
   :

Voltar ao Topo Ir em baixo

Re: Colisão retangular?!

Mensagem por saim em Seg 23 Dez 2013, 23:07

O que você quer é collision_rectangle, o resto do problema é outro problema (que você não chegou a explicar o que pode dar errado).
Mas não sei se vai funcionar da forma que eu quero...
E ainda tem o fator, de que após a detecção do objeto na área (caso ocorra), eu quero mudar o objeto detectado por outro objeto.
Que forma você quer? E qual o problema de mudar o objeto?

Vocês têm uma noção completamente equivocada de como funciona place_free, recomendo dar uma traduzida no manual (aliás, tem o manual já traduzido, além de alguns tutos só sobre funções de colisão - achei esse aqui)

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Colisão retangular?!

Mensagem por PedroX em Ter 24 Dez 2013, 11:00

Recomendo que leia o Manual completo das colisões, que está na minha assinatura.

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Colisão retangular?!

Mensagem por Conteúdo patrocinado Hoje à(s) 22:26


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