Ajuda com o Physics2D.OverlapAreaAll
2 participantes
Página 1 de 1
Ajuda com o Physics2D.OverlapAreaAll
bom dia,
estou querendo aprender a usar o Physics2D.OverlapAreaAll mas ainda não entendo bem, acho que ele cria uma area retangular na cena para identificar se algum objeto entrou dentro dessa area, é isso mesmo?
me explique por favor qual a função desse Physics2D.OverlapAreaAll
grato!!
estou querendo aprender a usar o Physics2D.OverlapAreaAll mas ainda não entendo bem, acho que ele cria uma area retangular na cena para identificar se algum objeto entrou dentro dessa area, é isso mesmo?
me explique por favor qual a função desse Physics2D.OverlapAreaAll
grato!!
Flávio- MembroAvançado
- PONTOS : 2831
REPUTAÇÃO : 29
Áreas de atuação : Aprendizagem em:
Programação C#;
Pixelart
Respeito as regras :
Re: Ajuda com o Physics2D.OverlapAreaAll
É exatamente isso, Flávio! Se vc criar um OverlapArea vc criar uma área retangular a partir de um ponto no mundo. Esse método retorna apenas UM collider que entrou nessa área.
Se vc usar o OverlapAreaAll ele também vai criar uma área retangular mas vai retornar TODOS os colliders que entrarem nessa área e não apenas um, como o caso do método anterior.
Como seria uma coleção de elementos, os colliders retornados devem ser armazenados num vetor, assim vc pode utilizar um laço foreach para percorrer todos os elementos desse vetor e encontrar algum collider específico que entrou nessa área, por isso, o OverlapAreaAll retorna um array do tipo Collider2D.
Documentação da Unity:
Tradução:
"Obtém uma lista de todos os colisores que entram numa área retangular.
Essa função é parecida com com "OverlapArea" exceto pelo fato de que ela retorna todos os colisores que entraram na área. Os colisores retornados ficam numa array que os ordena de acordo com a coordenada Z em ordem crescente.
Uma array vazia é retornada se não tiver colisões nessa área."
Por exemplo:
Pss.
Se vc usar o OverlapAreaAll ele também vai criar uma área retangular mas vai retornar TODOS os colliders que entrarem nessa área e não apenas um, como o caso do método anterior.
Como seria uma coleção de elementos, os colliders retornados devem ser armazenados num vetor, assim vc pode utilizar um laço foreach para percorrer todos os elementos desse vetor e encontrar algum collider específico que entrou nessa área, por isso, o OverlapAreaAll retorna um array do tipo Collider2D.
Documentação da Unity:
Get a list of all colliders that fall within a rectangular area.
This function is similar to OverlapArea except that all colliders that fall within the area are returned. The colliders in the returned array are sorted in order of increasing Z coordinate. An empty array is returned if there are no colliders within the area.
Tradução:
"Obtém uma lista de todos os colisores que entram numa área retangular.
Essa função é parecida com com "OverlapArea" exceto pelo fato de que ela retorna todos os colisores que entraram na área. Os colisores retornados ficam numa array que os ordena de acordo com a coordenada Z em ordem crescente.
Uma array vazia é retornada se não tiver colisões nessa área."
Por exemplo:
- Código:
private void DetectColliders(){
Collider2D[] cols = Physics2D.OverlapAreaAll(transform.position, new Vector2(2, 5));
foreach(Collider2D col in cols){
if (col != null && col.tag == "Uma tag específica"){
// Faça algo quando encontrar esse colisor dentro do array.
}
}
}
Pss.
Re: Ajuda com o Physics2D.OverlapAreaAll
MayLeone por exemplo eu tenho um jogador que tem uma arma e eu quero criar uma area retangular que vai ser igual ao retangulo da main camera.
aí toda vez que algum collider entrar nessa area a bala da rma vai em direão ao objeto collider que entrou.
como faço isso?
aí toda vez que algum collider entrar nessa area a bala da rma vai em direão ao objeto collider que entrou.
como faço isso?
Flávio- MembroAvançado
- PONTOS : 2831
REPUTAÇÃO : 29
Áreas de atuação : Aprendizagem em:
Programação C#;
Pixelart
Respeito as regras :
Tópicos semelhantes
» Physics2D para Physics?
» [Duvida] Unity5 - Physics2D.Raycast não obedece distância máxima.
» [AJUDA]Preciso de ajuda em um script relacionado ao vídeo Sistema de escolha de personagen
» Ajuda Urgente como chamo a animação no script alguém poderia dar uma ajuda???
» [Ajuda] Preciso de ajuda para controlar e alterar o valor de Lerp de varios objetos
» [Duvida] Unity5 - Physics2D.Raycast não obedece distância máxima.
» [AJUDA]Preciso de ajuda em um script relacionado ao vídeo Sistema de escolha de personagen
» Ajuda Urgente como chamo a animação no script alguém poderia dar uma ajuda???
» [Ajuda] Preciso de ajuda para controlar e alterar o valor de Lerp de varios objetos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos