Unity获取 鼠标 插值的 几种 方法

2023-10-26

说说思路实现

Unity中获取 鼠标插值的原理是 

用上一帧鼠标的位置 减去这一帧的鼠标位置的值,然后要进行对第一次进行判断,判断这一次位置是不是原来的值,如果不是就进行差 运算,得出偏移量。再把上一次的位置的值给这个一次;

 


    private Vector2 offest;

    private Vector2 newMousePos;//上一帧
    Vector2 oldMousePos = Vector2.zero;//这一帧
   private void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            newMousePos = Input.mousePosition;
            if (oldMousePos != Vector2.zero)
            {
                offest = newMousePos - oldMousePos;
            }

             
            oldMousePos = newMousePos;
        }
    }

 

 第二种是直接 调用Input 类里封装好的  Axis    这样就可以获取 水平上的值 和垂直方向上的值

  targetAngles.y += Input.GetAxis("Mouse X") * mouseSettings.pointerSensitivity;
 targetAngles.x -= Input.GetAxis("Mouse Y") * mouseSettings.pointerSensitivity;

 

mouseSettings 是定义mouse相关的结构体,mouseButtonID,敏感度。滚动敏感度。

[Serializable]
public struct MouseSettings
{
    /// <summary>
    /// ID of mouse button.
    /// </summary>
    public int mouseButtonID;

    /// <summary>
    /// Sensitivity of mouse pointer.
    /// </summary>
    public float pointerSensitivity;

    /// <summary>
    /// Sensitivity of mouse ScrollWheel.
    /// </summary>
    public float wheelSensitivity;

    /// <summary>
    /// Constructor.
    /// </summary>
    /// <param name="mouseButtonID">ID of mouse button.</param>
    /// <param name="pointerSensitivity">Sensitivity of mouse pointer.</param>
    /// <param name="wheelSensitivity">Sensitivity of mouse ScrollWheel.</param>
    public MouseSettings(int mouseButtonID, float pointerSensitivity, float wheelSensitivity)
    {
        this.mouseButtonID = mouseButtonID;
        this.pointerSensitivity = pointerSensitivity;
        this.wheelSensitivity = wheelSensitivity;
    }
}

  

 这些值 在  做 滑动 的时候很有用

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity获取 鼠标 插值的 几种 方法 的相关文章

  • MFC中子控件响应键盘消息

    在MFC的窗口和控件编程时 经常需要使某个控件主动响应用户的键盘消息 哪怕该控件并没有输入功能 为方便说明 假设你的主窗口为A 需要相应键盘消息的子控件为B为一个图片控件 Picture control 此时 你需要做如下工作 1 派生一个

随机推荐

  • React循环遍历渲染数组和对象元素

    遍历渲染数组 1 单纯数组 const pureArr a b c d 假如我们想将上面的数组利用react渲染成一个列表 代码如下 pureArr map item gt li item li 以上代码在codesandbox中运行结果如
  • Webpack5中CSS处理(单独文件、兼容及压缩)

    文章目录 一 CSS处理 1 1 单独文件 1 1 1 安装依赖 1 1 2 配置 1 1 3 测试 1 2 兼容处理 1 2 1 安装依赖 1 2 2 配置 1 2 3 控制兼容性 1 2 4 测试 1 3 压缩 1 3 1 安装依赖 1
  • Docker系列器十一:容器编排docker swarm和水平扩展

    容器编排 Swarm mode 在单机docker中 思考 1 怎么去管理这么多容器 2 怎么能方便的横向扩展 3 如果容器down了 怎么能自动恢复 4 如何去更新容器而不影响这些业务 5 如何去监控追踪这些容器 6 怎么去调度容器的创建
  • 64位Ubuntu上编译32位程序操作步骤

    1 确认主机为64位架构的内核 应该输出为adm64 执行 dpkg print architecture2 确认打开了多架构支持功能 应该输出为i386 执行 dpkg print foreign architectures 如果没有 则
  • echo命令

    inux的echo命令 在shell编程中极为常用 在终端下打印变量value的时候也是常常用到的 因此有必要了解下echo的用法 echo命令的功能是在显示器上显示一段文字 一般起到一个提示的作用 该命令的一般格式为 echo n 字符串
  • 激活函数的意义与选择

    激活函数的意义与选择 激活函数的定义 首先 什么是激活函数 activation functions 维基百科上给出的定义是这样的 激活函数即为 对给定输入或输入集定义了相关输出的函数 一个计算机芯片回路即可视为一个激活函数 有on和off
  • python中解释说明符号_python的注释有哪几种

    python的注释有哪几种 下面是方法汇总 一 python单行注释符号 python中单行注释采用 开头 示例 this is a comment 二 批量 多行注释符号 多行注释是用三引号 例如 输入 或者 将要注释的代码插在中间 相关
  • 推荐5款好用的Java软件,初学者必看

    工欲善其事必先利其器 想要学好Java 除了要有好的学习资源之外 还要有一套适合自己的Java软件 好的软件能极大提高你的学习和工作效率 那么 学Java用什么软件好呢 下面小千为大家推荐5款好用的Java软件 1 JDK JDK是Java
  • Unity C++ 底层渲染(low level) plugin

    Unity C 底层渲染 plugin 1 Android Unity Render 1 1 android handle all the process 1 2 unity handle all the process 1 3 andro
  • C#将exe运行程序嵌入到自己的winform窗体中

    以下例子是将Word打开 然后将它嵌入到winform窗体中 效果如下图 注意 该方法只适用于com的exe 如word Excel之类 net的编的exe就不能用这用方法嵌入到窗体中 using System using System C
  • input 输入框频繁请求接口,如何正确的显示最后一次接口返回的数据?

    使用axios的CancelToken中断请求 页面中使用 在需要使用的vue页面中引入 import source from http 之后 在你想要的地方使用
  • 结构体成员的内存分布与对齐

    我们先看一道IBM和微软的笔试题 IBM笔试题 struct short a1 short a2 short a3 A struct long a1 short a2 B sizeof A 6 sizeof B 8 为什么 注 sizeof
  • ubuntu10.04下Eclipse&pydev搭建python环境

    ubuntu10 04下Eclipse pydev搭建python环境 ubuntu10 04已经自带了python 用户可以在命令行中输入python 就启动了python 就可以写程序来测试了 也可以通过用gedit写一些脚本 然后在命
  • 人工智能在医疗领域的应用

    随着科技的不断发展 人工智能 AI 已经渗透到各个领域 在本文中 我们将探讨人工智能在医疗领域的几种重要应用 1 医学影像诊断 近年来 深度学习技术已成功地应用于各种图像识别任务 与此同时 医学影像诊断作为一个重要的医疗环节 也受益于深度学
  • Ubuntu 18.04 如何调整桌面图标大小

    Ubuntu 18 04 与其它版本不一样 调整桌面大小非常不方便 现在介绍一种比较便捷的方法 1 打开任何一个带有图标的文件夹 2 按住 Ctr 同时滚动鼠标滑轮 可以调整该文件夹内的图标 3 桌面图标会同时进行调整
  • Python pow函数

    描述 pow 函数是Python的内置函数 它计算并返回x的y次方的值 语法和参数 pow x y z 名称 备注 说明 x 底数 不可省略的参数 y 指数 不可省略的参数 z 取余数字 可省略的参数 当z存在时 函数返回值等于 pow x
  • Modbus Slave和Modbus Poll的使用说明

    Modbus Slave和Modbus Poll的使用说明 1 软件说明 Modbus Poll 是Witte Software公司开发的的Modbus主机仿真器 用于测试和调试Modbus从设备 软件支持ModbusRTU ASCII T
  • yuv420文件通过C语言分别读取出Y,U,V

    YUV总共有三种格式 YUV444 YUV422 YUV420 YUV 4 4 4 每一个 Y 分量对于一对 UV 分量 每像素占用 Y U V 8 8 8 24bits 3 字节 各采样分量在扫面每个像素点时 都不会降低采样率 YUV 4
  • 网络安全(黑客)自学

    目录 一 自学网络安全学习的误区和陷阱 二 学习网络安全的一些前期准备 三 网络安全学习路线 四 学习资料的推荐 想自学网络安全 黑客技术 首先你得了解什么是网络安全 什么是黑客 网络安全可以基于攻击和防御视角来分类 我们经常听到的 红队
  • Unity获取 鼠标 插值的 几种 方法

    说说思路实现 Unity中获取 鼠标插值的原理是 用上一帧鼠标的位置 减去这一帧的鼠标位置的值 然后要进行对第一次进行判断 判断这一次位置是不是原来的值 如果不是就进行差 运算 得出偏移量 再把上一次的位置的值给这个一次 private V