C# 如何在单击统一中缩放多个按钮
现在,我正在使用C# 如何在单击统一中缩放多个按钮,c#,unity3d,C#,Unity3d,现在,我正在使用 public GameObject Button; void Update() { if (Input.GetMouseButtonDown(0)) { Button.transform.localScale = new Vector3(0.92f, 0.92f, 0.92f); } else if(Input.GetMouseButtonUp(0)) { Button.transform.localSca
public GameObject Button;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
Button.transform.localScale = new Vector3(0.92f, 0.92f, 0.92f);
}
else if(Input.GetMouseButtonUp(0))
{
Button.transform.localScale = new Vector3(1f, 1f, 1f);
}
}
我对屏幕上的更多按钮使用了相同的代码,但当我单击其中一个按钮时,所有按钮都会收缩。如何使它们单独收缩?如果按下鼠标,则会全局侦听。。无论在哪个按钮上,甚至在任何按钮上
您可以使用接口之类的
- 您需要在场景中添加一个
- 如果您的对象不是UI元素而是3D对象,那么您还需要
- 物体上的碰撞器
摄像机上的组件
或者,您也可以使用和,它们也仅在单击的特定对象上调用
public class Example : MonoBehaviour
{
public GameObject Button;
public void OnMouseDown()
{
Button.transform.localScale = Vector3.one * 0.92f;
}
public void OnMouseUp()
{
Button.transform.localScale = Vector3.one;
}
}
注意:两者都需要将脚本附加到与
碰撞器
或GUIElement相同的对象上,然后使用按钮事件侦听器定义onPointerDown和up事件,然后可以在它们内部编写相同的逻辑
public class Example : MonoBehaviour
{
public GameObject Button;
public void OnMouseDown()
{
Button.transform.localScale = Vector3.one * 0.92f;
}
public void OnMouseUp()
{
Button.transform.localScale = Vector3.one;
}
}