私はたくさんグーグルで調べましたが、それを行うための本当に複雑な方法しか思いつきませんでした. 関数OnMouseDown()も見つけましたが、機能させることができませんでした。
現時点では、画面のどこかをタップするとスプライトがアクティブになります。
編集- はい、2d Box コライダーがあります
以下の私のコード:
using UnityEngine;
using System.Collections;
public class mute : MonoBehaviour
{
public bool isMuted = false;
public Sprite mute1, mute2;
private SpriteRenderer spriteRenderer;
private void Start ()
{
spriteRenderer = GetComponent<SpriteRenderer>();
if (spriteRenderer.sprite == null)
spriteRenderer.sprite = mute1;
}
private void Update ()
{
if (Input.GetKeyDown (KeyCode.Mouse0))
{
if (!isMuted)
{
AudioListener.pause = true;
AudioListener.volume = 0;
isMuted = true;
ChangeSprite();
}
else
{
AudioListener.pause = false;
AudioListener.volume = 1;
isMuted = false;
ChangeSprite();
}
}
}
private void ChangeSprite() => spriteRenderer.sprite =
spriteRenderer.sprite == ミュート 1 ? ミュート 2 : ミュート 1; }