Unity技术手册 - GetKey和GetAxis和GetButton

2024-01-09 20:40

本文主要是介绍Unity技术手册 - GetKey和GetAxis和GetButton,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

往期文章分享
  • 点击跳转=>《导航贴》- Unity手册,系统实战学习
  • 点击跳转=>《导航贴》- Android手册,重温移动开发

本文约3.3千字,新手阅读需要11分钟,复习需要3分钟收藏随时查阅不再迷路

👉关于作者

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣 !!!
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎私我,交流群让学习不再孤单

在这里插入图片描述

👉前提

这是小空坚持写的Unity新手向系列,欢迎品尝。

新手(√√√)

大佬(√)

👉实践过程

😜GetKey

GetKey 当按下和抬起键盘上对应参数的键时返回true,会瞬间触发N多次,长按会一直触发,平时不使用,但是类似按住类似开火的功能时可能用到。

GetKeyDown 当按下参数对应名字的键盘的那一帧返回true,按下瞬间仅触发一次,常用。

GetKeyUp 当抬起参数对应名字的键盘的那一帧返回true,抬起瞬间仅触发一次,常用。

上面三个方法参数均为KeyCode或者按键字符(小写),包含很多,文章最下方有按键说明。

void Update()
{if (Input.GetKey(KeyCode.W)){print("按下键盘w");}if (Input.GetKey("f5")){print("按下键盘f5");}if (Input.GetKeyDown(KeyCode.S)){print("按下键盘s");}if (Input.GetKeyDown("d")){print("按下键盘d");}if (Input.GetKeyUp(KeyCode.Q)){print("按下键盘q");}if (Input.GetKeyUp("tab")){print("按下键盘tab");}
}

😜GetAxis

返回由 axisName 标识的虚拟轴的值。返回的是float类型,在-1到1之间。

举例:默认该值为0,按住【D】或【→】会从0增长到1,最后保持1,松开后从1回归到0。其他同理。

该值与帧率无关,无序担心帧率变化。

主要是控制上下左右,常用于控制角色移动,默认是【WASD】键和小键盘左侧的【上下左右】箭头键。

print(“键盘:垂直值-1到1:”+Input.GetAxis(“Vertical”));

print(“键盘:水平值-1到1:”+Input.GetAxis(“Horizontal”));

print(“触摸:鼠标沿着屏幕X移动时触发-1到1:”+Input.GetAxis(“Mouse X”));

print(“触摸:鼠标沿着屏幕Y移动时触发-1到1:”+Input.GetAxis(“Mouse Y”));

print(“触摸:当鼠标滚动轮滚动时触发-1到1:”+Input.GetAxis(“Mouse ScrollWheel”));

默认可以传入Edit-Input Manager-中的几个输入控制。

image.png
去重后还剩下11个参数可传递:

image.png

可在Edit-Project Setting-Input中设置或修改,一般默认即可,毕竟大家都养成了一定的键盘按键习惯。

如果上面的GetAxis平滑处理不能满足你,想要自己处理平滑度,可以是用Input.GetAxisRaw函数,该函数默认不按键为0或返回为0,按键范围为-1和1。

😜GetButton

GetButtonDown表示鼠标按下才会执行一次

GetButton表示按下过程执行多次和按住鼠标不放就一直执行,可用于武器开火功能

GetButtonUp表示按下鼠标放开后才会执行一次

传递的都是string类型字符串,默认可以传入Edit-Input Manager-中的几个输入控制。和GetAxis参数一样。

image.png

👉其他

📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:https://zhima.blog.csdn.net/
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

温馨提示点击下方卡片获取更多意想不到的资源。
空名先生

这篇关于Unity技术手册 - GetKey和GetAxis和GetButton的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/588373

相关文章

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

Python实现PDF按页分割的技术指南

《Python实现PDF按页分割的技术指南》PDF文件处理是日常工作中的常见需求,特别是当我们需要将大型PDF文档拆分为多个部分时,下面我们就来看看如何使用Python创建一个灵活的PDF分割工具吧... 目录需求分析技术方案工具选择安装依赖完整代码实现使用说明基本用法示例命令输出示例技术亮点实际应用场景扩

Qt如何实现文本编辑器光标高亮技术

《Qt如何实现文本编辑器光标高亮技术》这篇文章主要为大家详细介绍了Qt如何实现文本编辑器光标高亮技术,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录实现代码函数作用概述代码详解 + 注释使用 QTextEdit 的高亮技术(重点)总结用到的关键技术点应用场景举例示例优化建议

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

Java使用WebView实现桌面程序的技术指南

《Java使用WebView实现桌面程序的技术指南》在现代软件开发中,许多应用需要在桌面程序中嵌入Web页面,例如,你可能需要在Java桌面应用中嵌入一部分Web前端,或者加载一个HTML5界面以增强... 目录1、简述2、WebView 特点3、搭建 WebView 示例3.1 添加 JavaFX 依赖3

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2