El script para instanciar un objeto está fallando unity
– UnityAssets3Free
buenas , me llamo kein y en esta ocasion os traigo
esta nueva pregunta
Estoy tratando de hacer una plataforma móvil con agujeros frecuentes, así que pensé que una forma de hacerlo sería hacer un bloque del tamaño del agujero que quiero que haya y duplicarlo en el lienzo. Cuando un bloque abandona la escena, se teletransporta al otro lado y vuelve a cruzar. (Todavía no lo he hecho) y de vez en cuando un bloque no aparece para crear un agujero.
Supongo que podría crear 12 bloques individualmente en unity editor, pero estoy haciendo este juego con algunos amigos y quiero evitar confusiones. Cuando adjunto el script al bloque que quiero duplicar y ejecutar el proyecto, todo el editor se congela y tengo que cerrarlo a través del administrador de tareas.
Aquí está el código que está causando problemas (solo la función de inicio, actualización () está vacía por ahora).
void Start()
for (int i = 0; i < 12; i++)
Instantiate(transform, new Vector2(transform.position.x + (i * 1), transform.position.y), transform.rotation);
Si alguien tiene idea de por qué puede estar pasando esto se lo agradecería. Gracias.
1 respuesta 1
Este problema se debe a que está replicando el objeto mismo en start()
y en el momento en que crea una instancia del objeto de clonación, el clon que tiene ese script comenzará a replicarse nuevamente y este ciclo continuará hasta que se desborde la pila de su sistema. Para resolver el problema, debe eliminar este script antes de crear una instancia.
Destroy(this);
for (int i = 0; i < 12; i++)
Instantiate(transform, new Vector2(transform.position.x + (i * 1), transform.position.y), transform.rotation);
nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias
eso es todo,espero que te halla servido