C# 在Unity中使用sprite作为按钮
我正在用为Android开发的C#在Unity中制作一个游戏。我正在使用Unity Remote 4进行测试。我只是想知道一个精灵是否可以在Unity中用作按钮,而不是在Component->UI->button中制作的按钮 我试过这个:C# 在Unity中使用sprite作为按钮,c#,android,unity3d,C#,Android,Unity3d,我正在用为Android开发的C#在Unity中制作一个游戏。我正在使用Unity Remote 4进行测试。我只是想知道一个精灵是否可以在Unity中用作按钮,而不是在Component->UI->button中制作的按钮 我试过这个: private void Update() { if (Input.touchCount > 0) Application.LoadLevel("startScene"); } 这确实有效。该按钮用于从主菜单切换到选项菜
private void Update()
{
if (Input.touchCount > 0)
Application.LoadLevel("startScene");
}
这确实有效。该按钮用于从主菜单切换到选项菜单
理想情况下,我希望按钮位于选项菜单中用于返回主菜单的相同位置。问题是,因为场景会立即切换,所以场景会一次又一次地在彼此之间切换,我猜是因为下一个场景也会获得触摸输入
如何延迟场景切换之间的时间,或者是否有更好的方法将精灵用作按钮???您可以创建一个在场景中持久的菜单系统。查看指南按钮通常在执行轻触后执行其功能。点击是按下并释放按钮。您所做的是在按住手指的同时,在按下按钮的同时不断触发按钮,从而执行您的功能 伪代码: 如果手指按在雪碧上 如果在精灵上释放同一个手指
按钮已按下。您可以使用光线投射来检测精灵上的触摸
private void Update()
{
if (Input.touchCount != 1) return;
var wp = Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position);
var touchPos = new Vector2(wp.x, wp.y);
if (collider2D == Physics2D.OverlapPoint(touchPos))
{
// Your code
}
}
这是一种对我有效的方法:
private void OnMouseDown () {
// Runs by pressing the button
}
private void OnMouseUp () {
// Runs when button is released
}