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:16:39 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.

Julio 22, 2015, 01:56:59 PM #1 Ultima modificación: Julio 22, 2015, 01:59:53 PM por Antonio
No caigo ahora en lo que puede pasar.

¿El script "codigo" está puesto en el mismo gameobject que este script?

Y ponerla como private, bueno dependerá de las necesidades de cada uno, pero en principio al ser un script en C#, las variables no se mostrarán en el inspector a menos que sean public, por lo que si estás poniendo el private para que no se muestre, no es algo necesario. Aunque no creo que eso tuviese que dar errores como este.

(El script "codigo" es también en C# o es en js?.
 

Julio 22, 2015, 02:26:36 PM #2 Ultima modificación: Julio 22, 2015, 03:26:35 PM por Arthure
para utilizar el getcomponent tienes que hacerlo con un componente (script por ejemplo) que tenga el objeto sobre el que ejecutas el getcomponent. no obstante, en tu caso el error es mucho mas evidentes que ese:la clase (script) "codigo" no existe en tu programa. esto solo hay que leer el error que te salta y que muy amablemente has trascrito aqui

Etiquetas: