Noticias

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

Otro error más de novato....

Iniciado por Rouless, Julio 22, 2015, 01:14:37 PM

Tema anterior - Siguiente tema
Muy buenas gente, os explico la situación.Tengo el objeto del player con varios scripts (uno para el movimiento, otro para disparar etcetera etcetera, así como duda repentina, pensais que es mejor ponerlo todo en el mismo script o tenerlo por scripts separados?) y quiero utilizar una variable de otro script. El caso es que con static me dice que no llega porque el nivel esta demasiado protegido y he leido que con getcomponent puedes acceder a las variables del script. El caso es que no sé como hacer un getcomponent para el script (si, muy noob using UnityEngine;
using System.Collections;

public class Piruleta : MonoBehaviour {

public GameObject piruleta;
public GameObject player;

private codigo scr;

// Use this for initialization
void Start () {
   scr = gameObject.GetComponent<codigo>();
}

// Update is called once per frame
void Update () {
   if (PlayerLife.estado == 2 && Input.GetButtonDown ("Fire1")) {
      Instantiate (piruleta, transform.position, transform.rotation);
   }
}
}
Y el error que da es obviamente el siguiente:
Assets/Scripts/Miscelaneos/Piruleta.cs(9,16): error CS0246: The type or namespace name `codigo' could not be found. Are you missing a using directive or an assembly reference?
 Gracias por resolverme las dudas! Un saludo
Lo siento muchisimo no se que le ha pasado al internet que me ha enviado tres veces el formulario, si algún moderador seria tan amable de cerrar dos de los tres posts se le agredecería.Siento las molestias, un saludo.

Hola Rouless, si efectivamente con el guetcomponent podrias llamar a otro script o linea de acción, pero...simpre hay un pero haha, son de el mismo palo?, me explico esto que has posteado es c# bien el otro script tambien es c#? Si es Javascript se complica la cosa ya que no se pueden ver el uno al otro...bueno al lio. El comando que necesitas es:GetComponent<   el script o linea que sea.....>().enabled = false; o si es activarlo:GetComponent<   el script o linea que sea.....>().enabled = true; si es de Java la unica manera de que se vean es poniendo el otro script en standard assets es como una pasarela publica para Unity.Y lo que comentas de los permisos:Si le pones Static public o al reves nose como era Prueba y nos cuentas hermano , saludos!!    

Muchisimas gracias por la aclaración, como bien ha comentado Arthure en el clon de otro post el error era tan simple como que el script que intentaba acceder no se llama codigo.......  Aun así gracias porque me has aclarado mejor el funcionamiento de getcomponent y lo de las variables static!Muchas gracias, un saludo!

Etiquetas: