【Unity入门】15.鼠标输入和键盘输入

这篇具有很好参考价值的文章主要介绍了【Unity入门】15.鼠标输入和键盘输入。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Unity入门】鼠标输入和键盘输入

    大家好,我是Lampard~~

    欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢

【Unity入门】15.鼠标输入和键盘输入

 

(一)监听鼠标输入

(1) Input类

    Unity的Input类提供了许多监听用户输入的方法,比如我们常见的鼠标,键盘,手柄等。我们可以用Input类的接口来获取用户的输入信息

    下面我们会调用几个常用的接口监听玩家鼠标和键盘的输入

【Unity入门】15.鼠标输入和键盘输入

 (2) GetMouseButtonUp 和 GetMouseButtonDown

    input.GetMouseButtonUp 和 input.GetMouseButtonDown 能够分别监听鼠标的按下和松开事件,值得注意的是,这两个方法需要传入参数,0表示左键,1表示右键,2表示中间键

    比如我们可以在代码中这样写,来监听游戏中的鼠标点击:

    void Update()
    {
        if (Input.GetMouseButtonUp(0)) {
            Debug.Log("正在执行鼠标左键抬起");
        }

        if (Input.GetMouseButtonUp(1))
        {
            Debug.Log("正在执行鼠标右键抬起");
        }

        if (Input.GetMouseButtonUp(2))
        {
            Debug.Log("正在执行鼠标中键抬起");
        }

        if (Input.GetMouseButtonDown(0))
        {
            Debug.Log("正在执行鼠标左键点击");
        }

        if (Input.GetMouseButtonDown(1))
        {
            Debug.Log("正在执行鼠标右键点击");
        }

        if (Input.GetMouseButtonDown(2))
        {
            Debug.Log("正在执行鼠标中键点击");
        }
    }

    注意,点击的时候需要选中Game窗口(玩家看到的窗口),试试看效果:

【Unity入门】15.鼠标输入和键盘输入

(3) GetMouseButton长按响应

    如果想监听长按逻辑可以选用GetMouseButton方法,同样需要传入0/1/2作为参数

    void Update()
    {
        if (Input.GetMouseButton(0))
        {
            Debug.Log("正在执行鼠标左键长按");
        }
    }

    只要一直处在长按状态,就会一直输出内容

【Unity入门】15.鼠标输入和键盘输入

 (4) mousePosition屏幕坐标

    如果想获取当前屏幕的坐标,可以用Input.mousePosition来访问,它是一个vector3类型的变量, 比如这样,我们就可以在鼠标点击时获取当前点击的屏幕位置

    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Debug.Log("正在执行鼠标左键点击");
            Vector3 MousePos = Input.mousePosition;
            Debug.Log("当前坐标:" + MousePos);
        }
    }
}

    看看效果:

(二)监听键盘输入

(1) GetKeyUp,GetKeyDown,GetKey

   和鼠标一样,键盘也可以获取它的按下,长按和抬起状态。分别需要调用Input.GetKeyDown,Input.GetKey 和 Input.GetKeyUp 来实现

   同时它需要传入参数:KeyCode,下面是常见的KeyCode值:

- KeyCode.A:A 键。

- KeyCode.W:W 键。

- KeyCode.S:S 键。

- KeyCode.D:D 键。

- KeyCode.Space:空格键。

- KeyCode.Return:回车键。

- KeyCode.Escape:Esc 键。

- KeyCode.LeftShift:左 Shift 键。

- KeyCode.RightShift:右 Shift 键。

- KeyCode.LeftAlt:左 Alt 键。

- KeyCode.RightAlt:右 Alt 键。

- KeyCode.Tab:Tab 键。

    比如这样的代码可以监听W键的按下和抬起

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.W))
        {
            Debug.Log("正在执行W键的按下");
        }

        if (Input.GetKeyUp(KeyCode.W))
        {
            Debug.Log("正在执行W键的抬起");
        }
    }

(2)控制物体前后左右移动

    我们学会了transform.translate方法,也学会了响应键盘的按键事件,那我们就可以写出一个用WSAD键,控制物体前后左右移动的方法了

    void Update()
    {
        float DisPreSec = 6f;
        if (Input.GetKey(KeyCode.W))
        {
            this.transform.Translate(0, 0, DisPreSec * Time.deltaTime);
        }

        if (Input.GetKey(KeyCode.S))
        {
            this.transform.Translate(0, 0, -DisPreSec * Time.deltaTime);
        }

        if (Input.GetKey(KeyCode.A))
        {
            this.transform.Translate(DisPreSec * Time.deltaTime, 0, 0);
        }

        if (Input.GetKey(KeyCode.D))
        {
            this.transform.Translate(-DisPreSec * Time.deltaTime, 0, 0);
        }
    }

    最后看看效果

【Unity入门】15.鼠标输入和键盘输入

 

【Unity入门】15.鼠标输入和键盘输入

 

好啦今天就到这里,感谢阅读!!!
点赞,关注!!!

【Unity入门】15.鼠标输入和键盘输入文章来源地址https://www.toymoban.com/news/detail-487271.html

到了这里,关于【Unity入门】15.鼠标输入和键盘输入的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity】Input——检测鼠标、键盘、手柄输入、鼠标在屏幕上的位置等等

    Unity提供的 更方便的 控制对象的 位移和旋转的解决方案 这个Axis是可以自定义的:

    2024年02月11日
    浏览(88)
  • JAVA 鼠标控制与键盘输入控制

    该类是JDK定义的电脑系统的抽象类,可以用来模拟实现鼠标点击与键盘输入等信息 简单实现一个自动抢票代码: InputEvent.BUTTON1_MASK 左键 (食指点击) InputEvent.BUTTON2_MASK 中键 (滚轮) InputEvent.BUTTON3_MASK 右键(中指点击) 得到的信息需要根据屏幕--显示设置--缩放与布局的百分

    2024年02月13日
    浏览(38)
  • 34_输入设备键盘鼠标你得会

    键盘和鼠标是个人计算机中常用的输入设备。通过键盘可以将字母、数字、标点符号等输入计算机中,从而向计算机发出命今;鼠标可以对屏幕上的光标进行定位,并通过鼠标按钮和滚轮对光标所处位置的屏幕元素进行操作。一个应用程序应该响应用户的键盘和鼠标输入事件。

    2024年01月22日
    浏览(34)
  • c++ 键盘/鼠标交互+特殊输入/输出+窗口常用函数

    需要头文件: 或: 函数: 使用方法: 1.if(KEY_DOWN(某个键))或if(KEY_UP(某个键)) 检测该键是否按下/未按下 2.keybd_event(某个键,0,0,0);或keybd_event(某个键,0,KEYEVENTF_KEYUP,0); 使该键是否按下/弹起(实际使用可参照下文鼠标函数click_left()) 键码表(替换“某个键”): 函数: 使用方法: gx()或

    2024年02月09日
    浏览(57)
  • Linux输入设备应用编程(键盘,按键,触摸屏,鼠标)

    目录 一 输入设备编程介绍 1.1 什么是输入设备呢?  1.2 什么是输入设备的应用编程?   1.3 input子系统 1.4  数据读取流程 1.5 应用程序如何解析数据 1.5.1 按键类事件:  1.5.2 相对位移事件  1.5.3 绝对位移事件  二 读取 struct input_event数据   本章学习Linux输入设备的应用编程

    2024年02月05日
    浏览(51)
  • Qt3D 输入类处理鼠标键盘动作

    Qt3D模块中的输入类用于处理用户输入,比如鼠标、键盘等输入事件。 ```cpp #include Qt3DExtras #include Qt3DInput #include Qt3DCore #include Qt3DRender #include Qt3DLogic #include Qt3DExtras int main(int argc, char *argv[]) {     QApplication app(argc, argv);     // 创建Qt3D窗     Qt3DExtras::Qt3DWindow view;     // 创建3

    2024年02月02日
    浏览(32)
  • Matlab键盘鼠标输入学习及PsychToolBox对刺激反应结果的保存

    包括键盘监听 KbWait KbCheck 、鼠标监听 GetMouse 如图为鼠标绘制的图像: 之前的代码参考上一篇文章:Psychtoolbox使用Screen时间控制以帧随机播放图片 在反应收集部分添加键盘输入项,对应保存结果。被试者对图片刺激进行判断给出反应结果。 被试者反应结果( 键位、匹配结果

    2024年02月16日
    浏览(36)
  • PyAutoGUI Python 库,可以用于自动化鼠标和键盘的输入

    PyAutoGUI 是一个 Python 库,可以用于自动化鼠标和键盘的输入。它可以模拟人类的鼠标和键盘操作,例如单击、双击、拖动、按键、释放键等。PyAutoGUI 还提供了一些其他功能,例如屏幕截图和图像识别等。 以下是几个 PyAutoGUI 的典型案例和代码: 这些示例只是 PyAutoGUI 的一小部

    2024年02月10日
    浏览(53)
  • unity鼠标键盘交互

    将代码放置在被拖动的物体上   将代码放置在灯上,设置虚拟轴的键盘+-改变数值 将代码放置在空物体上

    2024年02月11日
    浏览(82)
  • Unity鼠标键盘事件

    GetMouseButton(0):按下鼠标左键不动,程序会一直运行,松开左键程序停止运行。 GetMouseButton(2):按下鼠标中键不动,程序会一直运行,松开中键程序停止运行。 GetMouseButton(1):按下鼠标右键不动,程序会一直运行,松开右键程序停止运行。 GetMouseButtonDown(0):按下鼠标左键时,程序运

    2023年04月12日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包