Como obter o componente do objeto q está colidindo?
5 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Como obter o componente do objeto q está colidindo?
Olá! Estou com uma dúvida e nem sei por onde começar...
Estou desenvolvendo um jogo no estilo hack n slash, mas tenho uma dúvida para que o objeto a receber o dano, obtenha o componete "Dano" do script q tá na espada quando a mesma colidir com ele, alguém pode me ensinar Obter o componente do objeto q está colidindo?
obrigado.
Estou desenvolvendo um jogo no estilo hack n slash, mas tenho uma dúvida para que o objeto a receber o dano, obtenha o componete "Dano" do script q tá na espada quando a mesma colidir com ele, alguém pode me ensinar Obter o componente do objeto q está colidindo?
obrigado.
Re: Como obter o componente do objeto q está colidindo?
Faz uma variavel GameObject e uma do tipo do escript que voce quer pegar
GameObject player; // Reference to the player GameObject.
PlayerHealth playerHealth; // Aqui é a variavel do tipo do script que voce quer pegar , o tipo é o nome do script mesmo
void Awake(){
player = GameObject.FindGameObjectWithTag ("Player"); //Aqui encontrando um Gameobject com a tag player
playerHealth = player.GetComponent <PlayerHealth> (); // e aqui ta pegando o componente desse objeto
} // se voce quer acessar uma variavel ou void voce coloca playerHealth.NomeDaVariavelouVoid(); //
GameObject player; // Reference to the player GameObject.
PlayerHealth playerHealth; // Aqui é a variavel do tipo do script que voce quer pegar , o tipo é o nome do script mesmo
void Awake(){
player = GameObject.FindGameObjectWithTag ("Player"); //Aqui encontrando um Gameobject com a tag player
playerHealth = player.GetComponent <PlayerHealth> (); // e aqui ta pegando o componente desse objeto
} // se voce quer acessar uma variavel ou void voce coloca playerHealth.NomeDaVariavelouVoid(); //
MikaelSteam- Membro
- PONTOS : 2868
REPUTAÇÃO : 9
Idade : 29
Áreas de atuação : Atuo na area de fazer nada , estou estudando desenvolvimentos, programação, de jogos no horario de
Respeito as regras :
Re: Como obter o componente do objeto q está colidindo?
OBS: na linha que ta pegando o component do objeto é assim :
playerHealth = player.GetComponent <PlayerHealth> ();
digitei errado mals rrsr
playerHealth = player.GetComponent <PlayerHealth> ();
digitei errado mals rrsr
MikaelSteam- Membro
- PONTOS : 2868
REPUTAÇÃO : 9
Idade : 29
Áreas de atuação : Atuo na area de fazer nada , estou estudando desenvolvimentos, programação, de jogos no horario de
Respeito as regras :
Re: Como obter o componente do objeto q está colidindo?
playerHealth = player.GetComponent < / PlayerHealth / > (); << Assim sem as barras, ta sumindo o que eu digitoMikaelSteam escreveu:OBS: na linha que ta pegando o component do objeto é assim :
playerHealth = player.GetComponent <PlayerHealth> ();
digitei errado mals rrsr
MikaelSteam- Membro
- PONTOS : 2868
REPUTAÇÃO : 9
Idade : 29
Áreas de atuação : Atuo na area de fazer nada , estou estudando desenvolvimentos, programação, de jogos no horario de
Respeito as regras :
Re: Como obter o componente do objeto q está colidindo?
Voce deve utilizar
- Código:
GetComponent
- Código:
void OnTriggerEnter(Collision other)
{
var health = other.GetComponent<HealthBehaviour>();
if(health!=null) // se ele tiver componente de vida
{
health.ApplyDamage(10); //executa o metodo que tira vida
}
}
Re: Como obter o componente do objeto q está colidindo?
- Código:
[size=12]void OnCollisionEnter([url=https://docs.unity3d.com/ScriptReference/Collision.html]Collision[/url] col)
{
//"Col" é o objeto que colidiu
}[/size]
Re: Como obter o componente do objeto q está colidindo?
Você pode obter isto na void OnCollisionEnter(Collider other){
Re: Como obter o componente do objeto q está colidindo?
Olá Galera!
Eu consegui resolver aqui, eu estava tentando fazer o script para ser adicionado no inimigo, por isso n estava funcionando(pq ele n tava detectando a colisão com a espada, pq ela é um objeto sem colisão), então fiz o script para ser adicionado na espada, e funcionou!
Eu consegui resolver aqui, eu estava tentando fazer o script para ser adicionado no inimigo, por isso n estava funcionando(pq ele n tava detectando a colisão com a espada, pq ela é um objeto sem colisão), então fiz o script para ser adicionado na espada, e funcionou!
- Código:
public BoxCollider Lamina;
public float Dano;
public bool Teste;
void OnTriggerEnter (Collider Inimigo)
{
Inimigo.gameObject.GetComponent<Inimigo>().Vida -= Dano;
Teste = true;
}
public void HitFracoI()
{
Lamina.enabled = true;
}
public void HitFracoF()
{
Lamina.enabled = false;
}
}
Tópicos semelhantes
» Como identificar qual o objeto de um determinado tag que está colidindo
» Como posso obter apenas um componente, ou exceto um, de uma lista? (string.Join)
» Como obter componentes de outro objeto usando raycast ?
» [Resolvido]Como achar um objeto por componente?
» [RESOLVIDO] Como saber se o jogador esta vendo um certo objeto?
» Como posso obter apenas um componente, ou exceto um, de uma lista? (string.Join)
» Como obter componentes de outro objeto usando raycast ?
» [Resolvido]Como achar um objeto por componente?
» [RESOLVIDO] Como saber se o jogador esta vendo um certo objeto?
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos