Jump to content
Sign in to follow this  
jtorp20

script en prefab

Recommended Posts

Buenos días a todos.

Tengo la siguiente duda que supongo es algo básico pero que no consigo aclarar. 

He creado un prefab que tiene dos scripts, el script1 hace una función, y el script2 desactiva al uno en el Start().

public class script2: MonoBehaviour
{
    void Start()
    {
        GetComponent<script1>().enabled = false;  
    }   
}

Empiezo a crear instancias arrastrando el prefab a la escena.

  1. Cuando arrastro el prefab a la escena, tengo sobre la escena la primera instancia del prefab, instancia 1. Se desactiva el script 1 correctamente.
     
  2. Cuando arrastro el prefab de nuevo a otro punto de la escena,  tengo instancia 1 e instancia 2, ahora la instancia 2 desactiva el script 1, pero la instancia 1 lo deja activado, en contra del programa.
     
  3. Cuando arrastro el prefab de nuevo a otro punto de la escena tengo instancia 1, instancia 2 e instancia 3.  y en este momento la única que desactiva el script2 es la instancia 3.

Es decir, solo funciona bien desactivando el script 1, la última instancia puesta sobre la escena.

¿Alguien sabe porqué pasa esto?

¿ Como debo hacer para que se desactive el script 1 en todas las instancias?

 

gracias

Share this post


Link to post
Share on other sites

La lógica parece que está bien aplicada, de hecho al estar utilizando GetComponent no hay forma de que la referencia sea incorrecta. 

Intenta obtener el nombre de del GameObject que contiene el script1 de ese modo sabrás que esta pasando.

Debug.Log(GetComponent<Script1>().name);

 

Share this post


Link to post
Share on other sites

 

Al final funciona, parece que el problema ha sido que el script era una modificación de otro, y el original parece que interfería, hasta que lo borre de la carpeta.

Debug.Log(GetComponent<Script1>().name);

me devuelve en consola UnityEngine.Debug.Log(Object)

Muchas gracias. Tomo nota de esta función y la estudiaré.

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...