Unity3D 场景平移、缩放

来源:互联网 发布:名师讲堂软件下载 编辑:程序博客网 时间:2024/06/01 23:22
通过鼠标拖动左右平移场景,滚轮滑动实现场景缩放。
using UnityEngine;  using System.Collections;  public class MouseMoveandScale : MonoBehaviour {     Vector2 p1, p2;//用来记录鼠标的位置,以便计算移动距离void Start () {  }  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 <= 300)  //控制在20-130之内  {        float dx = (float)0.6 * (p2.x - p1.x);     float dy = p2.y-p1.y;  //鼠标左右移动  transform.Translate(-dx * Vector3.right * Time.deltaTime);    }  else if (transform.position.x < 10 && p2.x < p1.x)  {  float dx = (float)0.6 * (p2.x - p1.x); float dy = p2.y-p1.y;  //鼠标左右移动  transform.Translate(-dx * Vector3.right * Time.deltaTime);  }  else if (transform.position.x > 300 && p2.x > p1.x)  {  float dx = (float)0.6 * (p2.x - p1.x); float dy = p2.y-p1.y; //鼠标左右移动  transform.Translate(-dx * Vector3.right * Time.deltaTime);   }  }//通过鼠标滚轮实现场景缩放//鼠标滚轮的效果//Camera.main.fieldOfView 摄像机的视野//Camera.main.orthographicSize 摄像机的正交投影//Zoom outif (Input.GetAxis("Mouse ScrollWheel") < 0){if (Camera.main.fieldOfView <= 100)Camera.main.fieldOfView += 2;if (Camera.main.orthographicSize <= 20)Camera.main.orthographicSize += 0.5F;}//Zoom inif (Input.GetAxis("Mouse ScrollWheel") > 0){if (Camera.main.fieldOfView > 2)Camera.main.fieldOfView -= 2;if (Camera.main.orthographicSize >= 1)Camera.main.orthographicSize -= 0.5F;}}  }  

2 0
原创粉丝点击