我的问题是我通过触摸来控制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 );
}
}
答案 0 :(得分:0)
正如SteakOverlow所提到的,如果您使用触摸特定代码,那么您可以使用更多有用的方法。
当触摸发生时,您可以使用 Input.GetTouch(0) 获得Touch结构。此结构包含许多有关触摸的有用信息。例如,fingerID可以让您知道使用了哪个手指和相位,这可以让您知道手指当前处于哪种触摸状态。 如果相位“结束”,则可以存储手指的最新位置,然后让下一根手指继续操作,从最后一根手指到新手指的偏移。