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

Unity3D 场景平移、缩放(二)

2016-06-22 11:39 190 查看
之前已经写过一些东西关于场景平移,但在实际使用中发现之前的方法有一个漏洞就是只能实现场景的左右平移、无法实现上下平移,因此又对平移做了一些研究,话不多说,上代码

void Update () {
///<说明>
/// 通过鼠标X坐标拖动场景
///
if (Input.GetMouseButtonDown(0))
{
//鼠标左键按下时记录鼠标位置p1
p1 = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
}
if (Input.GetMouseButton(0))
{
//鼠标左键拖动时记录鼠标位置p2
p2 = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
if (transform.position.x >= 10 && transform.position.x <= 200) //控制在20-200之内
{
float dx = (float)0.6 * (p2.x - p1.x);
float dy=(float)0.6*(p2.y-p1.y);
//鼠标移动
transform.Translate(-dx*Time.deltaTime,-dy*Time.deltaTime,0);
}
else if (transform.position.x < 10 && p2.x < p1.x)
{
float dx = (float)0.6 * (p2.x - p1.x);
float dy=(float)0.6*(p2.y-p1.y);
//鼠标移动
transform.Translate(-dx*Time.deltaTime,-dy*Time.deltaTime,0);
}
else if (transform.position.x > 200 && p2.x > p1.x)
{
float dx = (float)0.6 * (p2.x - p1.x);
float dy=(float)0.6*(p2.y-p1.y);
//鼠标移动
transform.Translate(-dx*Time.deltaTime,-dy*Time.deltaTime,0);
}
}上一篇文章链接 http://blog.csdn.net/u012608885/article/details/51336936 不断完善、不断进步!加油!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity3d C# 移动 鼠标