unity中鼠标左键控制摄像机视角上下左右移动

enum RotationAxes { MouseXAndY, MouseX, MouseY }
RotationAxes axes = RotationAxes.MouseXAndY;
//@HideInInspector
float sensitivityX = 15;
//@HideInInspector
float sensitivityY = 15;
//private float minimumX = -360; 原文有此行但并未使用此变量
//private float maximumX = 360; 同上
float minimumY = -80;
float maximumY = 80;
private float rotationY = 0;
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
    if (Input.GetMouseButton(0))
    {
        if (axes == RotationAxes.MouseXAndY)
        {
            float rotationX = transform.localEulerAngles.y + Input.GetAxis("Mouse X") * sensitivityX;
            rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
            rotationY = Mathf.Clamp(rotationY, minimumY, maximumY);
            transform.localEulerAngles = new Vector3(-rotationY, rotationX, 0);
        }
        else if (axes == RotationAxes.MouseX)
        {
            transform.Rotate(0, Input.GetAxis("Mouse X") * sensitivityX, 0);
        }
        else
        {
            rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
            rotationY = Mathf.Clamp(rotationY, minimumY, maximumY);
            transform.localEulerAngles = new Vector3(-rotationY, transform.localEulerAngles.y, 0);
        }
    }
}
时间: 2024-10-10 03:01:37

unity中鼠标左键控制摄像机视角上下左右移动的相关文章

unity windowEditor平台下鼠标左键控制摄像机的视角

工作的原因,今天就只写了unity下的鼠标左键控制摄像机的视角左右上下调节:明天,补齐.[有诸多参考,着实是需要多多加油的] using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; public class CameraMove : MonoBehaviour { public Vector3 target; private Vec

MFC中如何在TreeCtrl控件中获取鼠标左键消息时的有效点击位置

MFC中,当在TreeCtrl控件中添加鼠标左键消息时,就意味着,凡是在该控件中点击左键后即会响应鼠标左键的消息,可有时我们只想记下有效的鼠标左键点击的事件,如图所示: 只想在CheckBox中点击鼠标左键时,将已选中的Item的句柄存入到链表中,那么如何只将有效的鼠标左键的消息存入链表中呢? 下面是响应鼠标左键消息时从所有鼠标左键消息都响应到只响应有效的左键消息的三个版本: 当响应鼠标左键的消息时,第一个版本: 获取鼠标的点击位置(注意:此时获取的是针对于当前屏幕的鼠标点击位置,所以需要将其转

zend studio中ctrl+鼠标左键无法转到类或函数定义文件的解决方法

zend studio中ctrl+鼠标左键无法转到类或函数定义文件的解决方法: zendstudio 时常 无法ctrl+左键 跳转 到函数源 代码 是创建工程的方式造成的,很有可能是把先前存在的工程以file的形式导入, zendstudio 就把工程当作文档来处理了.解决的办法是: 右键点击工程->configure->add php support 然后系统会自动rebuild工程/workspace.至此,问题解决! 如果你想要zendstudio支持javascript的语法高亮和流

[Eclipse] eclipse中打开xml文件,使用ctrl+鼠标左键无法跳转至Java源文件【待解决】

eclipse中打开xml文件,使用ctrl+鼠标左键无法跳转至Java源文件: 1. 设置eclipse ctrl + 左键打开源文件代码,如下图,设置都正常 2. 在网上找了很多种办法,均失败,在stackoverflow找到答案,但验证失败: http://stackoverflow.com/questions/18867178/ctrlclick-aka-hyperlink-on-xml-not-working?rq=1 Install WTP XML Editor plugin Ins

禁用WPF中DataGrid默认的鼠标左键拖动多选行的效果

最近项目上有需求要做DataGrid的行的拖拽功能, 有个很现实的问题就是鼠标左键按下是拖拽还是多选. 查看了DataGrid的源码发现,系统内部会在鼠标按下的时候CaptureMouse,然后设置私有变量来保存多选标志, 在鼠标MouseMove的时候根据变量判断是否多选. private bool _isDraggingSelection;                                  // Whether a drag select is being performed

JS中鼠标左右键以及中键的事件

在三维场景中有时候需要判断鼠标的事件,除了使用的click事件,只有鼠标左键有效,而右键无效.而对于onmousedown.onmouseup的时候鼠标的事件左键/右键有效.详细请看w3c上的资料. 以下总结鼠标三个按键操作: 首先,需要为window绑定mousedown.mouseup事件 元素对象.addEventListener('mousedown', 处理函数fun);1然后,判断button的值,button 事件属性可返回一个整数,指示当事件被触发时哪个鼠标按键被点击. butt

用鼠标左键绘制折线,利用鼠标中键或右键终止绘制

用鼠标左键绘制折线,同时在鼠标左键点中的位置输出一个含有该位置信息的字符串,利用鼠标中键或右键终止绘制. 解:建立一个Untitled.m文件 MATLAB指令: clf;axis([0,10,0,5]);hold on x=[];y=[]; for i=1:100 [x1,y1,button]=ginput(1); chstr=['(',num2str(x1),',',num2str(y1),')'];text(x1,y1,chstr); x=[x,x1];y=[y,y1];line(x,y)

JavaScript经典代码【二】【javascript判断用户点了鼠标左键还是右键】

IE 下 onMouseDown 事件有个 events.button 可以返回一个数值,根据数值判断取得用户按了那个鼠标键 events.button==0 默认.没有按任何按钮. events.button==1 鼠标左键 events.button==2 鼠标右键 events.button==3 鼠标左右键同时按下 events.button==4 鼠标中键 events.button==5 鼠标左键和中键同时按下 events.button==6 鼠标右键和中键同时按下 events.

【转】 js怎么区分出点击的是鼠标左键还是右键?

IE 下 onMouseDown 事件有个 events.button 可以返回一个数值,根据数值判断取得用户按了那个鼠标键 events.button==0  默认.没有按任何按钮. events.button==1  鼠标左键 events.button==2  鼠标右键 events.button==3  鼠标左右键同时按下 events.button==4  鼠标中键 events.button==5  鼠标左键和中键同时按下 events.button==6  鼠标右键和中键同时按下