Changing sprite of a button with New ui system via code c#
Hello,
I am trying to make a button's sprite change if the condition is met, i tried two methods one is this:
using UnityEngine; using System.Collections; using UnityEngine.UI; public class Unlock : MonoBehaviour {
public Button currentButton;
public Sprite newSprite;
void Start () {
if(PlayerPrefs.GetInt("Level")< 2)
{
currentButton.interactable = true;
GetComponent(SpriteRenderer).sprite = newSprite;
}
}
}
i get error Assets/Scripts/Unlock.cs(13,38): error CS0119: Expression denotes a type', where a
variable', value' or
method group' was expected
and the other one is this ( in this method there are no errors but i cant show renderer in menu)
using UnityEngine; using System.Collections; using UnityEngine.UI; public class Unlock : MonoBehaviour {
public Button currentButton;
public Sprite newSprite;
public SpriteRenderer curSpriteRenderer;
void Start () {
if(PlayerPrefs.GetInt("Level")< 2)
{
currentButton.interactable = true;
curSpriteRenderer.sprite = newSprite;
}
}
}
any help is very appreciated.
Answer by mkobaner · Feb 28, 2016 at 04:03 PM
Ok solved like this:
using UnityEngine; using System.Collections; using UnityEngine.UI; public class Unlock4 : MonoBehaviour {
public Button currentButton;
public Sprite newSprite;
Image myImageComponent;
void Start () {
myImageComponent = GetComponent<Image>();
if(PlayerPrefs.GetInt("Level")>= 4)
{
currentButton.interactable = true;
myImageComponent.sprite = newSprite;
}
}
}