Unity技术手册 - GetKey和GetAxis和GetButton

举报
芝麻粒儿 发表于 2022/06/25 20:42:39 2022/06/25
【摘要】 本文约3.3千字,新手阅读需要11分钟,复习需要3分钟 【收藏随时查阅不再迷路】 👉关于作者众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣 !!!专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)有什么需要欢迎私我...

本文约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/
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。