Unity两个手指放大图片的方法

Unity多点触控是个坑,试了好几次都有各种问题(其实是我太菜了)。不过这个方法可以两个手指放大缩小图片,百试不爽!!!!

public GameObject AddSizeImage;
private float fingerX = 0;
private float fingerY = 0;
private float DistanceNow = 0;
private float DistanceLast = 0;
private float MaxDistance = 5;
private float MinDistance = 1;
private float TheDistance = 3;
void FingerControl() //两个手指放大图片的方法
{
if (Input.touchCount > 1 && (Input.GetTouch(0).phase == TouchPhase.Moved || Input.GetTouch(1).phase == TouchPhase.Moved))
{
DistanceNow = Vector2.Distance(Input.GetTouch(0).position, Input.GetTouch(1).position); //获得两个手指的坐标点距离
if (DistanceNow > DistanceLast)
{
TheDistance += Vector2.Distance(Input.GetTouch(0).deltaPosition, Input.GetTouch(1).deltaPosition)*0.01F; //图像尺寸的变化量
}
else
{
TheDistance -= Vector2.Distance(Input.GetTouch(0).deltaPosition, Input.GetTouch(1).deltaPosition)*0.01F; //图像尺寸的变化量
}
DistanceLast = DistanceNow; //实时更新两个手指间距
}
if (TheDistance <= MinDistance) //限定最小尺寸
{
TheDistance = MinDistance;
}
if (TheDistance >= MaxDistance) //限定最大尺寸
{
TheDistance = MaxDistance;
}

    AddSizeImage.transform.localScale = new Vector3(TheDistance, TheDistance, 0);  

}

猜你喜欢

转载自blog.csdn.net/qq_25325511/article/details/50418384
今日推荐