Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Problema Básico

Iniciado por Diego Ulises, Diciembre 17, 2016, 03:00:02 AM

Tema anterior - Siguiente tema
Diciembre 17, 2016, 03:00:02 AM Ultima modificación: Diciembre 17, 2016, 03:02:49 AM por Diego Ulises
Hola Soy nuevo y es la primera vez que publico no me permite publicar en otro lugar no me aparece el botón de "iniciar un nuevo tema" y solo aparece en esta categoría  por eso es que lo estoy publicando aquí y no puedo publicar en otras partes como otros usuarios ademas tampoco me permite responder mensajes. 
 
Mi duda es la siguiente: Yo trato de crear un spawn de objetos pero nose como definir la cantidad de objetos que se van a crear y al no definir la cantidad se crean infinitos objetos que colapsan el juego. El código es el siguiente:
 



   
       private void OnTriggerEnter(Collider other)

          {

               GameObject cube = Instantiate(prefab, transform.position, transform.rotation) as GameObject;

              }
   

[/quote]
 
Pregunto en este foro porque en Internet y en la guía de unity 3D no pude encontrar la respuesta a mi problema tan básico estoy recién empezando .

El problema es que no estas entendiendo la lógica de la programacion. 

Te recomiendo empezar por aprender a programar.

OnTriggerEnter se llama cada vez que algo (rigidbody o charactercontroller) entra en el trigger que tiene el objeto que tiene el script que subiste. NO se que es lo de spawn de objetos ni cuantos queres pero podes tener una variable y cada vez que es llamada OnTriggerEnter aumentas la variable. Al principio verificas si la variable es superior a un numero retornas, o destruir la instancia de la clase.
 

int cuenta = 0;
void OnTriggerEnter(Collider other)
    {
   if(cuenta >= objetivo){   //objetivo es un numero
      // o Destroy(this) para eliminar el script solamente, o si queres eliminar el objeto entero Destroy(gameObject);
      //o sino simplemente retornas por si en algun momento se te ocurre decrementar la cuenta
      return;
   }
   
        GameObject cube = Instantiate(prefab, transform.position, transform.rotation) as GameObject;
   cuenta++;
    }

 
 

Muchas Gracias lightbug cometí un error tan simple que me siento como bobo recién estoy empezando en Unity 3D  y me confundo en algunas cosas pero ya me iré a acostumbrando.
 
Agrego: Yo no puedo crear temas en otras categorías solo en esta sesión ¿Sera que así es el foro o es problema mio?

Ok de nada, si lees las normas del foro dice que para publicar "correctamente" tenes que presentarte y cuando el admin te de permiso estas "adentro". Personalmente no me gusta el sistema ya que es un stall pero yo no soy el admin, asi que...
 
Saludos

Padrias hacer que cuando cuando llegue a el número de objetos que quieres de destruya el script o que se desactive la función de pm trigger enter , pero para eso deberías meterlo en una variable.

Etiquetas: