Reputation: 101
I want to change sprite in runtime by click on it . Now I already have sprite-A on Screen , and when i click on it , i want it to draw sprite-B and delete sprite-A . ( sprite-A and sprite-B are same size )
and here are my latest code . Now i can draw sprite-B (but different position from sprite-A ) , and i really dont know how to delete sprite-A :(
public Sprite checkbox;
private SpriteRenderer myRenderer;
void Start ()
{
checkbox = Resources.Load<Sprite>("sprite-B");
}
void OnMouseDown()
{
GameObject check = new GameObject();
check.AddComponent<SpriteRenderer>();
check.GetComponent<SpriteRenderer>().sprite = checkbox;
}
really need some help :D big thanks !
Upvotes: 1
Views: 5520
Reputation: 19
Here's what I did that worked in C#.
public Sprite buttonDown;
public Sprite buttonUp;
void OnMouseDown() {
SpriteRenderer sr = gameObject.GetComponent<SpriteRenderer>();
sr.sprite = buttonDown;
}
void OnMouseUp () {
SpriteRenderer sr = gameObject.GetComponent<SpriteRenderer>();
sr.sprite = buttonUp;
Application.LoadLevel(1);
}
Upvotes: 1
Reputation: 1303
Try this
#pragma strict
var newSprite : Sprite;
var IsMouseOver : boolean=false;
function Start () {
//print(gameObject.name);
}
function Update () {
if (Input.GetMouseButtonDown(0))
{
GetComponent(SpriteRenderer).sprite = newSprite;
}
}
Upvotes: 1