标签:
通过鼠标拖动左右平移场景,滚轮滑动实现场景缩放。
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 out
if (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 in
if (Input.GetAxis("Mouse ScrollWheel") > 0)
{
if (Camera.main.fieldOfView > 2)
Camera.main.fieldOfView -= 2;
if (Camera.main.orthographicSize >= 1)
Camera.main.orthographicSize -= 0.5F;
}
}
}
标签:
原文地址:http://blog.csdn.net/u012608885/article/details/51336936