Как при нажатия на кнопку менять спрайт на второй и наоборот?
Можно ли сделать это в одном скрипте? Не нашёл как можно сделать смену спрайта на кнопке в обе стороны без создания 2-ой кнопки или 2-х скриптов. При таком варианте спрайт меняется только на время зажатия мышки.
public class Sounds : MonoBehaviour
{
public Sprite newSprite, oldSprite;
public Image img;
public void OnClick(bool a)
{
if (b)
{
img.sprite = newSprite;
}
if (!b)
{
img.sprite = oldSprite;
}
}
}
Получилось сделать таким способом
public Sprite newSprite, oldSprite;
public Image img;
int a = 0;
public void New()
{
img.sprite = newSprite;
a++;
Old();
}
public void Old()
{
if (a >= 2)
{
img.sprite = oldSprite;
a = 0;
}
}
Как можно сделать лучше?
Ответы (1 шт):
Автор решения: KOTlK
→ Ссылка
private void SwitchImage()
{
img.sprite = img.sprite == newSprite ? oldSprite : newSprite;
}
Подробнее: Оператор ?: (справочник по C#)