[RESOLVIDO] Dúvida. Detectar colisões nas instâncias
3 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Dúvida. Detectar colisões nas instâncias
Bom... queria saber como faço para detectar colisões em instâncias de determinado tipo... esse é o script...
Como posso fazer?
- Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class CriadorDeCubos : MonoBehaviour {
private bool CanSpawn;
private int CubeClass;
private GameObject Cube;
public GameObject InstantiateCubes;
void Start() {
}
void Update() {
if (CanSpawn == true) {
Vector3 Vector = new Vector3(Random.Range(1, 11), 10, Random.Range(1, 11));
transform.position = Vector;
CubeClass = Random.Range(1, 4);
if (CubeClass == 1) {
//Quero que esse tipo de cubo simplesmente fique caindo
InstantiateCubes = Instantiate(Cube, transform.position, transform.rotation);
InstantiateCubes.AddComponent<Rigidbody>();
InstantiateCubes.GetComponent<Renderer>().material.color = Color.blue;
CanSpawn = false;
StartCoroutine(Wait());
} else if (CubeClass == 2) {
//Queria que esse cubo sumisse quando tocasse no chão
InstantiateCubes = Instantiate(Cube, transform.position, transform.rotation);
InstantiateCubes.AddComponent<Rigidbody>();
InstantiateCubes.GetComponent<Renderer>().material.color = Color.red;
CanSpawn = false;
StartCoroutine(Wait());
} else if (CubeClass == 3) {
//Queria que esse cubo desse um pulo quando tocasse no chão
InstantiateCubes = Instantiate(Cube, transform.position, transform.rotation);
InstantiateCubes.AddComponent<Rigidbody>();
InstantiateCubes.GetComponent<Renderer>().material.color = Color.yellow;
CanSpawn = false;
StartCoroutine(Wait());
}
}
}
private IEnumerator Wait() {
yield return new WaitForSeconds(Random.Range(0.4f, 1.0f));
CanSpawn = true;
}
}
Como posso fazer?
Última edição por dstaroski em Sáb Nov 10, 2018 1:02 pm, editado 1 vez(es) (Motivo da edição : Resolvido)
GattiMene- Membro
- PONTOS : 2338
REPUTAÇÃO : 2
Respeito as regras :
Re: [RESOLVIDO] Dúvida. Detectar colisões nas instâncias
Boa tarde cara! assim, não seria mais fácil você organizar da seguinte forma, você por as reações dos cubos nas suas próprias classes, ao invés de adicionar componentes ao instancia, assim você somente faz um random no instanciador e os prefabs fazem todo o resto.
Abraço!
Abraço!
Re: [RESOLVIDO] Dúvida. Detectar colisões nas instâncias
O jeito é fazer isso que o ds disse, até por que as void's OnTriggerEnter, OnCollisionEnter e talz funcionam apenas no objeto associado ao código.
Re: [RESOLVIDO] Dúvida. Detectar colisões nas instâncias
Como assim? Tipo criar uma classe e depois ir criando instâncias dela? Não entendi muito bem... é a primeira vez que eu crio um sistema mais desenvolvido de criação de instâncias...dstaroski escreveu:Boa tarde cara! assim, não seria mais fácil você organizar da seguinte forma, você por as reações dos cubos nas suas próprias classes, ao invés de adicionar componentes ao instancia, assim você somente faz um random no instanciador e os prefabs fazem todo o resto.
Abraço!
GattiMene- Membro
- PONTOS : 2338
REPUTAÇÃO : 2
Respeito as regras :
Re: [RESOLVIDO] Dúvida. Detectar colisões nas instâncias
não filho, assim: você cria um cubo de cada tipo, e em consequência a isso com o seu próprio código(classe) e suas funções, ok. Depois você cria o instanciador (objeto que irá instanciar os cubos em cena) e esse instanciador faz um random para sortear o tipo de cubo. Assim você não precisa definir o tipo de cubo que será instanciado na classe do instanciador, ele apenas instancia os cubos, os cubos é que fazem as suas funções conforme estão programados.GattiMene escreveu:Como assim? Tipo criar uma classe e depois ir criando instâncias dela? Não entendi muito bem... é a primeira vez que eu crio um sistema mais desenvolvido de criação de instâncias...dstaroski escreveu:Boa tarde cara! assim, não seria mais fácil você organizar da seguinte forma, você por as reações dos cubos nas suas próprias classes, ao invés de adicionar componentes ao instancia, assim você somente faz um random no instanciador e os prefabs fazem todo o resto.
Abraço!
Abraço!
Re: [RESOLVIDO] Dúvida. Detectar colisões nas instâncias
OBRIGADOOOOOOOOOOOOOOOOOOOOOOO!!!!!!!!!! Ajudou muito! Consegui acabar meu sistema! VALEUUUUUUUUUUUUUUdstaroski escreveu:não filho, assim: você cria um cubo de cada tipo, e em consequência a isso com o seu próprio código(classe) e suas funções, ok. Depois você cria o instanciador (objeto que irá instanciar os cubos em cena) e esse instanciador faz um random para sortear o tipo de cubo. Assim você não precisa definir o tipo de cubo que será instanciado na classe do instanciador, ele apenas instancia os cubos, os cubos é que fazem as suas funções conforme estão programados.GattiMene escreveu:Como assim? Tipo criar uma classe e depois ir criando instâncias dela? Não entendi muito bem... é a primeira vez que eu crio um sistema mais desenvolvido de criação de instâncias...dstaroski escreveu:Boa tarde cara! assim, não seria mais fácil você organizar da seguinte forma, você por as reações dos cubos nas suas próprias classes, ao invés de adicionar componentes ao instancia, assim você somente faz um random no instanciador e os prefabs fazem todo o resto.
Abraço!
Abraço!
GattiMene- Membro
- PONTOS : 2338
REPUTAÇÃO : 2
Respeito as regras :
Tópicos semelhantes
» TEM COMO FAZER UM COLLIDER DETECTAR COLISÕES?
» [Duvida] Como Detectar se estou perto de um objeto ?
» [RESOLVIDO] Detectar colisão usando if em C#?
» [RESOLVIDO] OverlapBox detectar colisão
» [RESOLVIDO] Detectar distância de objetos
» [Duvida] Como Detectar se estou perto de um objeto ?
» [RESOLVIDO] Detectar colisão usando if em C#?
» [RESOLVIDO] OverlapBox detectar colisão
» [RESOLVIDO] Detectar distância de objetos
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos