如何在Unity中阻止多点触控跳转

时间:2015-04-22 21:55:30

标签: c# unity3d multi-touch gameobject

我的问题是我通过触摸来控制Y轴上的物体,但是当我在屏幕上多次触摸并撤回第一次触摸时,游戏物体从第一触摸位置跳到第二触摸位置。

我希望即使玩家撤回第一次触摸,对象的移动也会像第一次触摸一样继续。

我该如何解决?

我的代码:

void Update () {

        if (die == true)
            return;
        if(Input.GetMouseButtonUp(0)){
            point = transform.position;
            click = false;
        }
        if (Input.GetMouseButton(0)) {
            ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position); 
            last = ray.GetPoint(1);
            if(click==false){
                click=true;
                first = last;
            }
            transform.position  = new Vector2(0, point.y + last.y -  first.y );
        }

    }

1 个答案:

答案 0 :(得分:0)

正如SteakOverlow所提到的,如果您使用触摸特定代码,那么您可以使用更多有用的方法。

当触摸发生时,您可以使用 Input.GetTouch(0) 获得Touch结构。此结构包含许多有关触摸的有用信息。例如,fingerID可以让您知道使用了哪个手指和相位,这可以让您知道手指当前处于哪种触摸状态。 如果相位“结束”,则可以存储手指的最新位置,然后让下一根手指继续操作,从最后一根手指到新手指的偏移。