【发布时间】:2015-01-26 08:08:01
【问题描述】:
我用谷歌搜索了很多,但只提出了非常复杂的方法。我还找到了函数OnMouseDown(),但我无法让它工作。
当您点击屏幕上的任意位置时,精灵会激活。
EDIT - 是的,它有一个 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 == mute1 ?静音2:静音1; }
【问题讨论】:
-
Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
-
我现在会做出改变,希望这就是我的问题。
-
@Barnstokkr 我会在哪里使用它?我将 Input.GetKeyDown (KeyCode.Mouse0) 更改为 Input.GetMouseButtonDown(0) 并且无论我在哪里点击它仍然会激活
-
抱歉,如果我问的是如何使“精灵”可点击..而不是如何使整个屏幕可点击并激活精灵..
标签: c# unity3d unity3d-2dtools