No overload for method '' takes 1 argument

I have a rat object that needs its sprite changed to a different sprite when clicked on.
Using below script, I get a
No overload for method ‘’ takes 1 argument
error

How to change the below script to make it work?

using UnityEngine;
using UnityEngine.UI;
using System.Collections;

namespace TestGame
{
public class removerat : MonoBehaviour
{

public SpriteRenderer spriteRenderer;
public Sprite newSprite;
void Start()
{
spriteRenderer = gameObject.GetComponentInChildren();
}
void ChangeSprite()
{
spriteRenderer.sprite = newSprite;
}
void Update()
{
if(Input.GetMouseButtonDown(0))
{
ChangeSprite(newSprite);
}
}

}
}

your “ChangeSprite” method doesn´t take parameters, but if you call your method you deliver one.

Change your method to this:

void ChangeSprite(Sprite newSprite)
{
spriteRenderer.sprite = newSprite;
}

And please use code tags next time, for easier reading of the code :slight_smile:

Thanks, I will try the changed script, and will use code tags next time:)