当前位置: 首页 > news >正文

unity学习26:用Input接口去监测: 鼠标,键盘,虚拟轴,虚拟按键

目录

1 用Input接口去监测:鼠标,键盘,虚拟轴,虚拟按键

2 鼠标 MouseButton 事件

2.1 鼠标的基本操作

2.2 测试代码

2.3 测试情况

3 键盘Key事件

3.1 键盘的枚举方式

3.2 测试代码同上

3.3 测试代码同上

3.4 测试结果

4 Joystick虚拟轴 Axis

4.1 什么是虚拟轴

4.2 虚拟轴的设置

4.3 虚拟轴的写法

4.4  测试代码同上

4.5 虚拟轴的测试

5 虚拟按键 Button

5.1 什么是虚拟按键

5.2 虚拟按键

5.3 测试代码同上

5.4 测试结果


1 用Input接口去监测:鼠标,键盘,虚拟轴,虚拟按键

  • 用Input接口去监测: 如 Input.GetMouseButton()
  • 鼠标,MouseButton
  • 键盘,Key
  • 虚拟轴,Axis
  • 虚拟按键,Button

还是挂上脚本来测试

2 鼠标 MouseButton 事件

2.1 鼠标的基本操作

  • "按下了鼠标左键"
  • Input.GetMouseButtonDown(0)

  • "持续按下鼠标左键"
  • Input.GetMouseButton(0)

  • "抬起了鼠标左键"
  • Input.GetMouseButtonUp(0)

2.2 测试代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class TestKey : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){//鼠标相关if(Input.GetMouseButtonDown(0)){Debug.Log("按下了鼠标左键");}if(Input.GetMouseButton(0)){Debug.Log("持续按下鼠标左键");}if(Input.GetMouseButtonUp(0)){Debug.Log("抬起了鼠标左键");}//键盘相关if(Input.GetKeyDown(KeyCode.A)){Debug.Log("按下了A");}if(Input.GetKey(KeyCode.A)){Debug.Log("持续按下A");}if(Input.GetKeyUp("a")){Debug.Log("抬起了A");}//虚拟轴相关float horizontal=Input.GetAxis("Horizontal");float vertical=Input.GetAxis("Vertical");Debug.Log(horizontal + " " + vertical);//虚拟按键if(Input.GetButtonDown("Jump")){Debug.Log("按下了Jump空格");}if(Input.GetButton("Jump")){Debug.Log("持续按Jump空格");}if(Input.GetButtonUp("Jump")){Debug.Log("抬起了Jump空格");}}
}

2.3 测试情况

3 键盘Key事件

3.1 键盘的枚举方式

  • 键盘的枚举方式
  • GetKey(KeyCode.A)
  • GetKey("a")

3.2 测试代码同上

  • 按下了按键A
  • Input.GetKeyDown(KeyCode.A)
  • 持续按住A
  • Input.GetKey(KeyCode.A)
  • 松开了A
  • Input.GetKeyUp("a")

3.3 测试代码同上

3.4 测试结果

4 Joystick虚拟轴 Axis

4.1 什么是虚拟轴

4.2 虚拟轴的设置

  • 默认的,只有水平和垂直的是虚拟轴,其他其实都是虚拟按键

4.3 虚拟轴的写法

  • 默认的,只有水平和垂直的是虚拟轴,其他其实都是虚拟按键
  • float horizontal=Input.GetAxis("Horizontal");
  • float vertical=Input.GetAxis("Vertical");
  • Debug.Log(horizontal + " " + vertical);

4.4  测试代码同上

4.5 虚拟轴的测试

  • 比如实测水平轴
  • 按下 a s 水平轴的数值,会持续的变化

5 虚拟按键 Button

5.1 什么是虚拟按键

  • 虚拟按键,和虚拟轴不一样,只有1个按键
  • 比如jump轴,只有1个 space按键

5.2 虚拟按键

  • "按下了Jump空格"     Input.GetButtonDown("Jump")
  • "持续按Jump空格"     Input.GetButton("Jump")
  • "抬起了Jump空格"    Input.GetButtonUp("Jump")

5.3 测试代码同上

5.4 测试结果

相关文章:

unity学习26:用Input接口去监测: 鼠标,键盘,虚拟轴,虚拟按键

目录 1 用Input接口去监测:鼠标,键盘,虚拟轴,虚拟按键 2 鼠标 MouseButton 事件 2.1 鼠标的基本操作 2.2 测试代码 2.3 测试情况 3 键盘Key事件 3.1 键盘的枚举方式 3.2 测试代码同上 3.3 测试代码同上 3.4 测试结果 4…...

GB/T 43698-2024 《网络安全技术 软件供应链安全要求》标准解读

一、43698-2024标准图解 https://mmbiz.qpic.cn/sz_mmbiz_png/rwcfRwCticvgeBPR8TWIPywUP8nGp4IMFwwrxAHMZ9Enfp3wibNxnfichT5zs7rh2FxTZWMxz0je9TZSqQ0lNZ7lQ/640?wx_fmtpng&fromappmsg 标准在线预览: 国家标准|GB/T 43698-2024 相关标准: &a…...

ASP.NET Core与EF Core的集成

目录 分层项目中EF Core的用法 数据库的配置 数据库迁移 步骤汇总 注意: 批量注册上下文 分层项目中EF Core的用法 创建一个.NET类库项目BooksEFCore,放实体等类。NuGet:Microsoft.EntityFrameworkCore.RelationalBooksEFCore中增加实…...

【AI大模型】Ubuntu18.04安装deepseek-r1模型+服务器部署+内网访问

以下内容主要参考博文:DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」 - 程序设计实验室 - 博客园 安装 ollama Download Ollama on Linux curl -fsSL https://ollama.com/install.sh | sh 配置 ollama 监听地址 ollama 安装后…...

SpringAI系列 - 使用LangGPT编写高质量的Prompt

目录 一、LangGPT —— 人人都可编写高质量 Prompt二、快速上手2.1 诗人 三、Role 模板3.1 Role 模板3.2 Role 模板使用步骤3.3 更多例子 四、高级用法4.1 变量4.2 命令4.3 Reminder4.4 条件语句4.5 Json or Yaml 方便程序开发 一、LangGPT —— 人人都可编写高质量 Prompt La…...

Github - 记录一次对“不小心包含了密码的PR”的修复

Github - 记录一次对“不小心包含了密码的PR”的修复 前言 和好朋友一起开发一个字节跳动青训营抖音电商后端(now private)的项目,某大佬不小心把本地一密码commit上去并提了PR。 PR一旦发出则无法被删除,且其包含的commit也能被所有能看到这个仓库的…...

【玩转 Postman 接口测试与开发2_014】第11章:测试现成的 API 接口(下)——自动化接口测试脚本实战演练 + 测试集合共享

《API Testing and Development with Postman》最新第二版封面 文章目录 3 接口自动化测试实战3.1 测试环境的改造3.2 对列表查询接口的测试3.3 对查询单个实例的测试3.4 对新增接口的测试3.5 对修改接口的测试3.6 对删除接口的测试 4 测试集合的共享操作4.1 分享 Postman 集合…...

前后端通过docker部署笔记

项目背景:这是一个SpringBootvue3的项目,通过maven打包后,需要在Linux服务器上部署,本篇博客主要记录docker-compose.yaml文件的含义: docker-compose.yml 文件中定义了一个 algorithm_platform_frontend 容器&#…...

五十天精通硬件设计第四天-场效应管知识及选型

场效应管(FET,Field-Effect Transistor)是一种利用电场效应控制电流的半导体器件,广泛应用于放大、开关等电路中。以下是场效应管的基本知识及选型要点: 一、场效应管的基本知识 1. 类型: - **结型场效应管(JFET)**: - N沟道和P沟道两种类型。 - 栅极与…...

了解 ALV 中的 field catalog (ABAP List Viewer)

在 ABAP 中,字段目录是使用 ALV (ABAP List Viewer) 定义内部表中的数据显示方式的关键元素。它提供对 ALV 中显示的字段的各种属性的控制,例如列标题、对齐方式、可见性、可编辑性等。关键概念: Field Catelog 字段目…...

【基于SprintBoot+Mybatis+Mysql】电脑商城项目之修改密码和个人资料

🧸安清h:个人主页 🎥个人专栏:【Spring篇】【计算机网络】【Mybatis篇】 🚦作者简介:一个有趣爱睡觉的intp,期待和更多人分享自己所学知识的真诚大学生。 目录 🎃1.修改密码 -持久…...

十一、CentOS Stream 9 安装 Docker

一、Docker 环境安装 1、软件源(仓库)信息 使用如下命令可列出当前系统配置的所有软件源(仓库)信息 # 列出所有软件源 dnf repolist 这表明系统有三个仓库 AppStream 、 BaseOS、Extras-Common 被启用 2、配置软件源镜像 使用如下命令可配置 Docker 软件包下载的镜像地址 …...

FreeRTOS学习 --- 中断管理

什么是中断? 让CPU打断正常运行的程序,转而去处理紧急的事件(程序),就叫中断 中断执行机制,可简单概括为三步: 1,中断请求 外设产生中断请求(GPIO外部中断、定时器中断…...

如何在Intellij IDEA中识别一个文件夹下的多个Maven module?

目录 问题描述 理想情况 手动添加Module,配置Intellij IDEA的Project Structure 问题描述 一个文件夹下有多个Maven项目,一个一个开窗口打开可行但是太麻烦。直接open整个文件夹会发现Intellij IDEA默认可能就识别一个或者几个Maven项目,如…...

机器学习模型--线性回归、逻辑回归、分类

一、线性回归 级别1:简单一元线性回归(手工实现) import numpy as np import matplotlib.pyplot as plt# 生成数据 X np.array([1, 2, 3, 4, 5]) y np.array([2, 4, 5, 4, 5])# 手动实现梯度下降 def gradient_descent(X, y, lr0.01, epo…...

gitlab个别服务无法启动可能原因

目录 一、gitlab的puma服务一直重启 1. 查看日志 2. 检查配置文件 3. 重新配置和重启 GitLab 4. 检查系统资源 5. 检查依赖和服务状态 6. 清理和优化 7. 升级 GitLab 8. 查看社区和文档 二、 gitlab个别服务无法启动可能原因 1.服务器内存或磁盘已满 2.puma端口冲突…...

react的antd表格数据回显在form表单中

1、首先为table添加编辑按钮 {title: 操作,align: center,render: (_: any, record: any) > (<div style{{ display: flex, alignItems: center, justifyContent: space-evenly }}><Buttonsize"small"onClick{() > deitor(record)} style{{ margin…...

深度分析:网站快速收录与网站内容多样性的关系

本文转自&#xff1a;百万收录网 原文链接&#xff1a;https://www.baiwanshoulu.com/87.html 网站快速收录与网站内容多样性之间存在着密切的关系。以下是对这一关系的深度分析&#xff1a; 一、网站内容多样性对快速收录的影响 提升搜索引擎抓取效率&#xff1a; 多样化的…...

feign 远程调用详解

在平常的开发工作中&#xff0c;我们经常需要跟其他系统交互&#xff0c;比如调用用户系统的用户信息接口、调用支付系统的支付接口等。那么&#xff0c;我们应该通过什么方式进行系统之间的交互呢&#xff1f;今天&#xff0c;简单来总结下 feign 的用法。 1&#xff1a;引入依…...

【Android】jni开发之导入opencv和libyuv来进行图像处理

做视频图像处理时需要对其进行水印的添加&#xff0c;放在应用层调用工具性能方面不太满意&#xff0c;于是当下采用opencvlibyuv方法进行处理。 对于Android的jni开发不是很懂&#xff0c;我的需求是导入opencv方便在cpp中调用&#xff0c;但目前找到的教程都是把opencv作为模…...

动力电池点焊机:驱动电池焊接高效与可靠的核心力量|比斯特自动化

在新能源汽车与储能设备需求激增的背景下&#xff0c;动力电池的制造工艺直接影响产品性能与安全性。作为电芯与极耳连接的核心设备&#xff0c;点焊机如何平衡效率、精度与可靠性&#xff0c;成为电池企业关注的重点。 动力电池点焊机的核心功能是确保电芯与极耳的稳固连接。…...

阿里云ACP云计算备考笔记 (4)——企业应用服务

目录 第一章 企业应用概览 第二章 云解析 1、云解析基本概念 2、域名管理流程 3、云解析记录类型 4、域名管理 ① 开启注册局安全锁 ② 域名赎回 第二章 内容分发网络CDN 1、CDN概念 2、使用CDN前后对比 3、使用CDN的优势 4、阿里云CDN的优势 5、配置网页性能优化…...

从Copilot到Agent,AI Coding是如何进化的?

编程原本是一项具有一定门槛的技能&#xff0c;但借助 AI Coding 产品&#xff0c;新手也能写出可运行的代码&#xff0c;非专业人员如业务分析师、产品经理&#xff0c;也能在 AI 帮助下直接生成简单应用。 这一演变对软件产业产生了深远影响。当 AI 逐步参与代码生成、调试乃…...

408第一季 - 数据结构 - 线性表II

链表 头节点始终指向第一个 头节点的好处&#xff1a; 第一个好处 这里L是头节点 可以发现&#xff0c;删除第一个也可以统一了 第二个好处 这是无头节点&#xff0c;空和非空指向的不一样 然后有头节点就可以统一了&#xff01; 双链表 插入 第一步要在第四步之前&…...

一个完整的日志收集方案:Elasticsearch + Logstash + Kibana+Filebeat (二)

&#x1f4c4; 本地 Windows 部署 Logstash 连接本地 Elasticsearch 指南 ✅ 目标 在本地 Windows 上安装并运行 Logstash配置 Logstash 将数据发送至本地 Elasticsearch测试数据采集与 ES 存储流程 &#x1f9f0; 前提条件 软件版本要求安装说明Java17Oracle JDK 下载 或 O…...

【计算机网络】Linux下简单的TCP服务器(超详细)

服务端 创建套接字 &#x1f4bb;我们将TCP服务器封装成一个类&#xff0c;当我们定义出一个服务器对象后需要马上对服务器进行初始化&#xff0c;而初始化TCP服务器要做的第一件事就是创建套接字。 TCP服务器在调用socket函数创建套接字时&#xff0c;参数设置如下&#xff1…...

spring:继承接口FactoryBean获取bean实例

spring框架提供接口FactoryBean获取bean实例。 实现步骤&#xff1a; 实现接口FactoryBean。 在xml文件中配置实现接口FactoryBean的类。 调用接口FactoryBean中方法getObject&#xff0c;获取bean实例。 实现接口类 package com.itheima.factory;import org.springframework…...

互联网大厂Java求职面试:云原生架构下的微服务网关与可观测性设计

互联网大厂Java求职面试&#xff1a;云原生架构下的微服务网关与可观测性设计 郑薪苦怀着忐忑的心情走进了会议室&#xff0c;对面坐着的是某大厂的技术总监张总&#xff0c;一位在云原生领域有着深厚积累的专家。 第一轮面试&#xff1a;微服务网关的设计挑战 张总&#xf…...

React项目的状态管理:Redux Toolkit

目录 1、搭建环境 2、Redux Toolkit 包含了什么 3、使用示例 &#xff08;1&#xff09;创建user切片 &#xff08;2&#xff09;合并切片得到store &#xff08;3&#xff09;配置store和使用store 使用js来编写代码&#xff0c;方便理解一些 1、搭建环境 首先&#xf…...

.net Span类型和Memory类型

.NET 中 Span 类型和 Memory 类型的深度剖析 在 .NET 编程的世界里&#xff0c;高效处理内存是提升程序性能的关键。Span<T> 和 Memory<T> 类型的出现&#xff0c;为开发者提供了强大而灵活的工具&#xff0c;用于高效地访问和操作连续内存区域。今天&#xff0c;…...