Receber um valor quando o objeto não colidir
5 participantes
Página 1 de 1
Receber um valor quando o objeto não colidir
Como faço para um objeto se lançar com o objetivo de colidir numa parede, mas se ele não colidir me retorna um valor e se colidir me retornar outro? Tentei assim:
Porém nunca recebo o "Não collidiu", mesmo o objeto não colidindo com a parede.
- Código:
void OnCollisionEnter2D(Collision2D other){
if(other.gameObject.compareTag("Parede"){
Debug.Log("Collidiu");
}else{
Debug.Log("Não Collidiu");
}
}
Porém nunca recebo o "Não collidiu", mesmo o objeto não colidindo com a parede.
Última edição por dipode em Sex Out 14, 2016 12:50 pm, editado 1 vez(es)
Re: Receber um valor quando o objeto não colidir
o método OnCollisionEnter2D e chamado quando colide com um objeto então sempre vai chamar Debug.Log("Collidiu");
lembrando da próxima vez faça um titulo melhor
https://www.schultzgames.com/t2345-____administracao____-por-que-ninguem-responde-o-seu-topico#16442
lembrando da próxima vez faça um titulo melhor
https://www.schultzgames.com/t2345-____administracao____-por-que-ninguem-responde-o-seu-topico#16442
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: Receber um valor quando o objeto não colidir
weslleyFx escreveu:o método OnCollisionEnter2D e chamado quando colide com um objeto então sempre vai chamar Debug.Log("Collidiu");
lembrando da próxima vez faça um titulo melhor
https://www.schultzgames.com/t2345-____administracao____-por-que-ninguem-responde-o-seu-topico#16442
desculpe, esqueci de colocar o titulo, se tiver como editar, muda para mim, eu não achei onde edita aqui kkkkk mas quero receber um valor quando ele não colidir.
Re: Receber um valor quando o objeto não colidir
Dependendo de como está sua cena, você pode adicionar um outro objeto na área onde quer checar, tipo atrás de sua parede, assim ele retornaria o "Não colidiu" quando colidir com esse objeto.
Outra forma seria colocar um limite de tempo, tipo, se não colidiu com a parede em x tempo, retorna o não colidiu.
Enfim, tem uma série de alternativas, mas depende da sua cena e do que você precisa.
Se puder, passa mais detalhes.
Outra forma seria colocar um limite de tempo, tipo, se não colidiu com a parede em x tempo, retorna o não colidiu.
Enfim, tem uma série de alternativas, mas depende da sua cena e do que você precisa.
Se puder, passa mais detalhes.
wischutz- Membro
- PONTOS : 3573
REPUTAÇÃO : 15
Respeito as regras :
Re: Receber um valor quando o objeto não colidir
wischutz escreveu:Dependendo de como está sua cena, você pode adicionar um outro objeto na área onde quer checar, tipo atrás de sua parede, assim ele retornaria o "Não colidiu" quando colidir com esse objeto.
Outra forma seria colocar um limite de tempo, tipo, se não colidiu com a parede em x tempo, retorna o não colidiu.
Enfim, tem uma série de alternativas, mas depende da sua cena e do que você precisa.
Se puder, passa mais detalhes.
Eu pensei nessa de tempo. Mas esses são os únicos jeitos? Minha cena pode ser explicada por isso mesmo, um outro objeto que avança para outro objeto, ambos estão sempre em movimento, então tempo não daria certo, por sua movimentação não ser fixa, e nem o objeto por estarem sempre em movimento.
Re: Receber um valor quando o objeto não colidir
Creio que o mais adequado seja usar outro objeto então. Ele pode ser filho da parede e abranger a área ao redor. Por que acho que não tem como captar o evento de não colisão, que jé é o padrão, então deve pegar a colisão no que seria o oposto à parede.
Pode ser melhor até usar um trigger nesse objeto, se vc não quer que ele influencie na física da bola. Aí usaria o OnTriggerEnter2D(Collider other) pra detectar a sua "não colisão".
Pode ser melhor até usar um trigger nesse objeto, se vc não quer que ele influencie na física da bola. Aí usaria o OnTriggerEnter2D(Collider other) pra detectar a sua "não colisão".
wischutz- Membro
- PONTOS : 3573
REPUTAÇÃO : 15
Respeito as regras :
Re: Receber um valor quando o objeto não colidir
Utilize o método:
Funciona da mesma maneira que o OnTriggerEnter2D, mas ele irá verificar quando o objeto desencostar do outro.
- Código:
void OnTriggerExit2D(Collider2D other)
{
}
Funciona da mesma maneira que o OnTriggerEnter2D, mas ele irá verificar quando o objeto desencostar do outro.
George Lucas Vieira- Avançado
- PONTOS : 3391
REPUTAÇÃO : 132
Idade : 21
Áreas de atuação : Programação, Modelagem e Animação.
Respeito as regras :
Re: Receber um valor quando o objeto não colidir
George Lucas Vieira escreveu:Utilize o método:
- Código:
void OnTriggerExit2D(Collider2D other)
{
}
Funciona da mesma maneira que o OnTriggerEnter2D, mas ele irá verificar quando o objeto desencostar do outro
A pergunta é quando ele não colidir, OnTriggerExit2D como você mesmo disse é quando ele desencostar do outro, então não serviria para o caso da pergunta, pois precisaria que o objeto colidisse para avisar que ele não colidiu, o que não faria sentido ou uso para esse caso, a não ser que eu adaptasse isso, mas ai seria melhor usar o modo de criar outro trigger no objeto da parede que ficaria mais simples.
Re: Receber um valor quando o objeto não colidir
bom basta fazer isso com uma variável do tipo bool ex
eh uma possibilidade
- Código:
private bool collidiu = false;
void Start()
{
collidiu = false;
}
void Update()
{
if(collidiu)
Debug.Log("Collidiu");
else
Debug.Log("Não Collidiu");
}
void OnCollisionEnter2D(Collision2D other)
{
if(other.gameObject.compareTag("Parede")
collidiu = true;
}
eh uma possibilidade
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: Receber um valor quando o objeto não colidir
https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnCollisionStay2D.html
Tópicos semelhantes
» como fazer o personagen quando colidir em um objeto ele carregar outra cena furum {FECHADO}
» Variável receber valor de uma array
» Como fazer para um objeto não colidir com um "collider" e o outro objeto si
» [DÚVIDA]Receber e setar texto em um objeto
» Objeto receber posição
» Variável receber valor de uma array
» Como fazer para um objeto não colidir com um "collider" e o outro objeto si
» [DÚVIDA]Receber e setar texto em um objeto
» Objeto receber posição
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos