您的位置:首页 > 移动开发 > Unity3D

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

2015-12-28 13:35 711 查看
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);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: