Unity Spain
Post Antiguos => General (Antiguo) => Mensaje iniciado por: rogerdv en Agosto 04, 2015, 09:34:49 PM
Estoy tratando de cargar una imagen en tiempo de ejecución para asignársela aun botón, pero me he encontrado un problema que no logro resolver. Aunque el Sprite es válido, el script produce un error:
var go = Instantiate(invGridPrefab);
var rt = go.GetComponent<RectTransform>();
rt.SetParent(inv.transform);
rt.anc***dPosition = new Vector2(40+40*col,70-row*40);
var b = go.GetComponent<Button>();
Sprite img = Resources.Load<Sprite>("Icons/great-sword");
if (img)
Debug.Log("loaded image "+img.name);
b.image.sprite = img; <---Error
b.onClick.AddListener(() => MouseEnter(go));
El error que da es de Null Reference Exception. Sin embargo, tanto el botón como el sprite existen.
Icons/great-sword es una carpeta que cuelga de la carpeta Resources?
Si.
Pruébalo así a ver
b.image.GetComponent<SpriteRenderer>().sprite = Resources.Load<Sprite>("Icons/great-sword");
Negativo, el error persiste. Por alguna razón la image se carga bien, pero no puede asignarse.