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

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

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

一、监听鼠标输入
GetMouseButtonUp 、GetMouseButtonDown、GetMouseButton

input.GetMouseButtonDown和 input.GetMouseButtonUp 能够分别监听鼠标的按下和松开事件,GetMouseButton长按响应,值得注意的是,这三个方法需要传入参数,0表示左键,1表示右键,2表示中间键
比如我们可以在代码中这样写,来监听游戏中的鼠标点击:

    void Update()
    {
        /*鼠标输入*/
        if (Input.GetMouseButtonDown(0))
        {
            Debug.Log("你按下了鼠标左键");
        }
        if (Input.GetMouseButton(0))
        {
            Debug.Log("你压着鼠标左键不放");
        }
        if (Input.GetMouseButtonUp(0))
        {
            Debug.Log("你松开了鼠标左键");
        }

        if (Input.GetMouseButtonDown(1))
        {
            Debug.Log("你按下了鼠标右键");
        }
        if (Input.GetMouseButton(1))
        {
            Debug.Log("你压着鼠标右键不放");
        }
        if (Input.GetMouseButtonUp(1))
        {
            Debug.Log("你松开了鼠标右键");
        }

        if (Input.GetMouseButtonDown(2))
        {
            Debug.Log("你按下了鼠标中键");
        }
        if (Input.GetMouseButton(2))
        {
            Debug.Log("你压着鼠标中键不放");
        }
        if (Input.GetMouseButtonUp(2))
        {
            Debug.Log("你松开了鼠标中键");
        }

    }
mousePosition屏幕坐标

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

    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Debug.Log("正在执行鼠标左键点击");
            Vector3 MousePos = Input.mousePosition;
            Debug.Log("当前坐标:" + MousePos);
        }
    }
二、监听键盘输入
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 键。

代码示例:

    void Update()
    {

        /*键盘输入*/
        if (Input.GetKey(KeyCode.Space))
        {
            Debug.Log("你压着空格不放");
        }
        if (Input.GetKeyDown(KeyCode.Space))
        {
            Debug.Log("你按下了空格");
        }
        if (Input.GetKeyUp(KeyCode.Space))
        {
            Debug.Log("你松开了空格");
        }
        
        if (Input.GetKey(KeyCode.A))
        {
            Debug.Log("你压着A不放");
        }
        if (Input.GetKeyDown(KeyCode.A))
        {
            Debug.Log("你按下了A");
        }
        if (Input.GetKeyUp(KeyCode.A))
        {
            Debug.Log("你松开了A");
        }

    }

我们学会了transform.translate方法,也学会了响应键盘的按键事件,那我们就可以写出一个用WSAD键,控制物体前后左右移动的方法了文章来源地址https://www.toymoban.com/news/detail-772052.html

    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入门】鼠标输入和键盘输入的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

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

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

    2024年02月11日
    浏览(78)
  • unity | EventTrigger(实现鼠标/按钮按下、抬起等时执行的方法)

    一、类比常用按钮 按钮组件一般只有当点击时,执行的方法。 点击:需要按下再起来 二、按钮的其他用法 但有时候,我们可能只需要按下的时候执行,或者抬起的时候执行,这时需要在加入EventTrigger组件  一、EventTrigger组件 当点击时Add New Event Type时,可以选择这个按钮响

    2024年02月09日
    浏览(31)
  • JavaScript 监听鼠标左右同时按下/同时按下移动

    基于原生JavaScript, 在使用 three.js 的 raycaster 模拟瞄准及射击时用到.

    2024年02月07日
    浏览(30)
  • 【Unity脚本开源】记录鼠标按下的位置和移动的距离来进行物体的旋转,并在鼠标释放后将物体恢复到初始旋转位置

    ♥️作者:白日参商 🤵‍♂️个人主页:白日参商主页 ♥️坚持分析平时学习到的项目以及学习到的软件开发知识,和大家一起努力呀!!! 🎈🎈加油! 加油! 加油! 加油 🎈欢迎评论 💬点赞👍🏻 收藏 📂加关注+! 提针对这个需求,以下是示例脚本代码: ♥️作者

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

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

    2023年04月12日
    浏览(34)
  • unity鼠标键盘交互

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

    2024年02月11日
    浏览(56)
  • unity脚本_Input鼠标键盘 c#

    获取鼠标坐标 检测鼠标输入 如果在运行游戏场景中点击一下鼠标左键 检测鼠标抬起 选中即可 检测键盘按下 当前屏幕分辨率 注意:获取的是显示器的分辨率 获取设备屏幕宽高 屏幕休眠模式 窗口/全屏模式 移动设备屏幕转向

    2024年02月04日
    浏览(29)
  • Unity 通过键盘鼠标控制物体移动、旋转、缩放的方法

    在Unity中,使用键盘ADWS键控制物体移动,通过鼠标左键控制物体旋转,鼠标中键控制物体缩放是再常见不过的方法。 方法如下:  效果如下:Unity 通过键盘鼠标控制物体移动、旋转、缩放_哔哩哔哩_bilibili

    2024年02月03日
    浏览(38)
  • 【Unity】简单案例脚本实现 | 鼠标观察/键盘控制移动飞行/行走/碰撞检测

    《Unity5实战-使用C#和Unity开发多平台游戏》第二章-构建一个让你置身3D空间的演示 鼠标观察/键盘控制移动飞行/行走/碰撞检测 Unity版本:2019.4.23f1c1 注意脚本名称和组件添加,不在文章中一一强调 场景模型都是在资源商店选择的免费下载(选择Sort by Price(Low to High)排序)搜索

    2024年02月04日
    浏览(42)
  • “Unity 输入变得简单:触摸事件和鼠标交互指南”

    了解触摸输入: 在 Unity 中,触摸输入是指用户的手指与移动设备、平板电脑或任何支持触摸的平台的屏幕之间的交互。 在Unity中,触摸输入是使用Input类捕获的,该类提供了检测触摸事件的方法。 Unity 支持多种类型的触摸输入,包括: 单点触控输入: 这涉及到单个触摸点的

    2024年04月13日
    浏览(22)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包