Unity—使用鼠标移动、缩放视野
代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//鼠标移动视野及缩放,脚本绑在摄像机上(此脚本在PC平台上有效)
public class VewMove02 : MonoBehaviour {
void Update ()
{
//按下鼠标右键(移动)
if (Input.GetMouseButton(1))
{
Move();
}
//鼠标滚轮(缩放大小),方法一
//放大,小于40将不能再放大(具体参数大小根据实际项目调整)
if (Input.GetAxis("Mouse ScrollWheel") > 0 && transform.position.z >= 40)
{
Zoom();
}
//缩小,大于70将不能再缩小
if (Input.GetAxis("Mouse ScrollWheel") < 0 && transform.position.z <= 70)
{
Zoom();
}
#region//鼠标滚轮(缩放大小),方法二
#endregion
}
//视野移动
void Move()
{
float Mouse_X = Input.GetAxis("Mouse X");
float Mouse_Y = Input.GetAxis("Mouse Y");
transform.position = new Vector3(transform.position.x + Mouse_X, transform.position.y,
transform.position.z + Mouse_Y);
}
//视野缩放
void Zoom()
{
float offset = Input.GetAxis("Mouse ScrollWheel"); //获取鼠标滚轮的移动量
//方法一(移动相机z轴)
transform.Translate(0, 0, offset * 10f);
//方法二(改变相机fieldOfView大小)
//transform.GetComponent().fieldOfView -= offset * 10f;
}
}