【问题标题】:Can't get multitouch to work in Unity3D无法让多点触控在 Unity3D 中工作
【发布时间】:2016-07-07 05:56:57
【问题描述】:

在寻找解决方案后,我仍然无法弄清楚为什么我的统一多点触控脚本不起作用。这是我的代码。在你问之前:所有变量都存在。

    void Update()
{
    if (Input.touchCount > 0)
    {
        for (i = 0; i < Input.touchCount; i++)
        {
            if (Input.GetTouch(i).phase != TouchPhase.Ended)
            {
                hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position), Vector2.zero);
                if (hit.collider != null && hit.transform.gameObject.tag == "Links")
                {
                    cannon.GetComponent<Rigidbody2D>().MovePosition(cannon.GetComponent<Rigidbody2D>().position + new Vector2(-0.1f, 0) * Time.deltaTime * moveSpeed);
                }
                else if (hit.collider != null && hit.transform.gameObject.tag == "Rechts")
                {
                    cannon.GetComponent<Rigidbody2D>().MovePosition(cannon.GetComponent<Rigidbody2D>().position + new Vector2(0.1f, 0) * Time.deltaTime * moveSpeed);
                }
            }



            if (Input.GetTouch(i).phase == TouchPhase.Began)
            {
                hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position), Vector2.zero);
                if (hit.collider != null && hit.transform.gameObject.tag == "Fire")
                {
                    clone = Instantiate(projectile, cannon.transform.position + new Vector3(0, 1.3f, 0), transform.rotation) as Rigidbody2D;
                    clone.velocity = new Vector2(0, speed);
                }
            }
        }
    }
}

它一次只注册一个输入。是的,我的手机确实支持多点触控。我将不胜感激。

【问题讨论】:

  • 只需添加 Debug.Log 行即可调试您的代码。 ...你会很快找到问题

标签: android unity3d touch multi-touch


【解决方案1】:

你的问题很简单!

你有一个“0”,你应该有一个“i”。就是这样。

你正在循环使用 i ...

    for (i = 0; i < Input.touchCount; i++)

有时你正确地参考

     GetTouch(i)

但在其他时候你错误地引用了

    GetTouch(0)

幸好就是这样!

不要忘记,您将来可以通过随时记录轻松解决此类问题(使用 Debug.Log,或者,在屏幕上显示 Text 并在其中写下您的开发信息,dev.text = "blah"

【讨论】:

  • 一点也不,只是一个错误。做“触摸”是非常棘手的。注意 - 你会遇到一个问题实际上,“触摸”已被弃用!如果您使用它,它不会阻止对您的按钮和其他 UI 元素的触摸。现在你必须这样做......长解释stackoverflow.com/q/36048106/294884
猜你喜欢
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-17
  • 1970-01-01
  • 2015-12-06
  • 2016-09-08
相关资源
最近更新 更多