click the button to change the character's sprite
I have 2 buttons. I want to change my character's picture when I click on the buttons.How can ı do it
Answer by Vega4Life · Aug 01, 2019 at 03:18 PM
Here is some quick simple code to make it happen using two buttons and an image:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ImageSwap : MonoBehaviour
{
[SerializeField] Image imageToSwap;
[SerializeField] Sprite buttonOneImage;
[SerializeField] Sprite buttonTwoImage;
public void OnButtonOneClicked()
{
imageToSwap.sprite = buttonOneImage;
}
public void OnButtonTwoClicked()
{
imageToSwap.sprite = buttonTwoImage;
}
}
I added the script above to an an object in your scene. Then all I did was created two UI buttons in the scene (this will create a UI canvas for you). I also added UI image as well. I linked two sprites that I wanted to change back and forth to the ImageSwap script - as well as the Image.
I then clicked on the button I added. There is a button script on them. I then when down to On Click(). Here you can hit the small + sign, this allows you to link the gameObject that your ImageSwap script is on. You can no click on the drop down, find the ImageSwap script, then pick a method to tie it to. In this case, we pick OnButtonOneClicked. This sets up a callback for when you click the button - it will call the method you picked. Next, do the same thing for the second button, but pick OnButtonTwoClicked().
Done. Start the game, click the buttons and they will swap.
Your answer
