1. 程式人生 > >Unity兩個手指放大圖片的方法

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);  

}