Input类中包含许多属性和方法,下面介绍一下和键盘输入有关的内容

一、有关接收键盘信息的属性

属性名 类型 属性类型 含义
anyKey bool get 当前是否按住任意键或鼠标按钮
anyKeyDown bool get 是否按下任意键
using UnityEngine;

public class Example : MonoBehaviour
{
// Detects if any key has been pressed. void Update()
{
if (Input.anyKey)
{
Debug.Log("A key or mouse click has been detected");
}
}
}
using UnityEngine;

public class Example : MonoBehaviour
{
// Detects if any key has been pressed down. void Update()
{
if (Input.anyKeyDown)
{
Debug.Log("A key or mouse click has been detected");
}
}
}

注:对于anyKeyDown,您应该从Update函数中轮询此变量,因为每个帧都会重置状态。在用户释放所有键/按钮并再次按下任何键/按钮之前,它不会返回true。

二、键盘按键的keyCode键码

  在网上看到别人关于键码的内容非常详细,这里就直接上链接了

  点击查看:keyCode键码大全

三、有关接收键盘信息的方法

  3.1  public static bool GetKey(KeyCode key)  

参数:key———键盘上的某个键。

返回值:bool———当通过名称指定的按键被用户按住时返回true

using UnityEngine;
using System.Collections; public class ExampleClass : MonoBehaviour
{
void Update()
{
if (Input.GetKey(KeyCode.UpArrow))
{
print("up arrow key is held down");
} if (Input.GetKey(KeyCode.DownArrow))
{
print("down arrow key is held down");
}
}
}

  它还有一个重载方法: public static bool GetKey(string name),它的参数为字符串

using UnityEngine;
using System.Collections; public class ExampleClass : MonoBehaviour
{
void Update()
{
if (Input.GetKey("up"))
{
print("up arrow key is held down");
} if (Input.GetKey("down"))
{
print("down arrow key is held down");
}
}
}

  3.2  public static bool GetKeyDown(KeyCode key)

    当用户按下指定名称的按键期间的帧返回true。

    您需要从Update函数调用此函数,因为每个帧都会重置状态。在用户释放该键并再次按下该键之前,它不会返回true。

using UnityEngine;
using System.Collections; public class ExampleClass : MonoBehaviour
{
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
print("space key was pressed");
}
}
}

    重载方法:public static bool GetKeyDown(string name)

  3.3  public static bool GetKeyUp(KeyCode key)

    在用户释放给定名字的按键的那一帧返回true。

    您需要从Update函数调用此函数,因为每个帧都会重置状态。在用户按下键并再次释放它之前,它不会返回true。

using UnityEngine;

public class Example : MonoBehaviour
{
void Update()
{
if (Input.GetKeyUp(KeyCode.Space))
{
print("space key was released");
}
}
}

  重载方法:public static bool GetKeyUp(string name)

  下面例子演示了如何使物体随着按键的方向移动

void Update()
{
if (Input.GetKey(KeyCode.RightArrow) || Input.GetKey(KeyCode.D))
dir = Vector2.right;
else if (Input.GetKey(KeyCode.LeftArrow) || Input.GetKey(KeyCode.A))
dir = Vector2.left;
else if (Input.GetKey(KeyCode.DownArrow) || Input.GetKey(KeyCode.S))
dir = Vector2.down;
else if (Input.GetKey(KeyCode.UpArrow) || Input.GetKey(KeyCode.W))
dir = Vector2.up;
}

U3D Input类之键位输入GetKey的更多相关文章

  1. 【Unity】7.1 Input类的方法和变量

    分类:Unity.C#.VS2015 创建日期:2016-04-21 一.简介 在Input类中,Key与物理按键对应,例如键盘.鼠标.摇杆上的按键,其映射关系无法改变,程序员可以通过按键名称或者按键 ...

  2. Java用Scanner类获取用户输入

    用Java编写程序时,有些数据需要用户输入,这个时候需要调用java提供的Scanner类,这个类在包java.util下,比如求一个矩形的面积,简单的看一下用法: import java.util. ...

  3. 控制input标签中只能输入数字以及小数点后两位

    js 代码如下: /* 控制input标签中只能输入数字 和小数点后两位 */ function checkNum(obj) { //检查是否是非数字值 if (isNaN(obj.value)) { ...

  4. input验证码框,输入非数字或非12位时,红框提示;每4位加一个空格

    以下代码:input验证码框,输入非数字或非12位时,红框提示;每4位加一个空格 //input验证码框,输入非数字或非12位时,红框提示;每3位加一个空格 $(".text"). ...

  5. input框只允许输入正整数、正数(包含小数)的解决方法 vue.js实现

    我来打自己脸了!!!!...刚刚发现在中文输入法下是无效的,有人能解决这个问题么 如果要求input只能输入数字怎么做? 设置type="number" ? 那我如果想限制长度,此 ...

  6. input输入框只允许输入数字

    /* input输入框只允许输入数字*/ <input type="text" onkeypress="keyPress()" > function ...

  7. 自定义异常类;键盘输入;try catch用法

    相关考点:自定义异常类:键盘输入:try catch用法 1.设计一个java程序,自定义一个异常类,从键盘输入一个字符串,如果等于“abc”,则抛出异常. public class MyExcept ...

  8. Input类中常用的验证方式

    Deolin一般将Input类对象作为POST请求方法的参数, Input类的域与前端的数据结构一一对应,由于后端不应该相信前端传过来的任何数据, 所以前端的数据对象先绑定到Input对象中,通过JS ...

  9. Vue input 控件: 通过自定义指令(directive)使用正则表达式限制input控件的输入

    前言: 网站中的input输入框使用非常广泛,因业务场景不同需要对输入框做合法性校验或限制输入,比如电话号码.邮件.区号.身份证号等.input框的不合法内容主要有两种方式处理:1.用户输入内容后,通 ...

随机推荐

  1. Java中sleep()与wait()区别(涉及类锁相关概念)

    在区别之前,我们首先先了解一下关于对象锁,类锁的相关概念(当时查阅的详细地址:http://www.importnew.com/20444.html,该作者对类锁和对象锁进行了详细的举例分析) 对象锁 ...

  2. js-判断当前日期的天数

    <!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...

  3. TVS(瞬间电压抑制器)

    1.原理 TVS二极管在线路板上与被保护线路并联,当瞬时电压超过电路正常工作电压后,TVS二极管便产生雪崩,提供给瞬时电流一个超低电阻通路,其结果是瞬时电流透过二极管被引开,避开被保护元件,并且在电压 ...

  4. ORACLE ERP consolidation流程(一)

    原文地址:ORACLE ERP consolidation流程(一) 作者:wolfyuan ORACLE EBS by transaction consolidation的详细流程(一)[@more ...

  5. 在.net中使用ETW事件的方法

    直到.net4.5,才有了比较便利的操作ETW的方法. 本文介绍的方法主要来源于Microsoft.Diagnostics.Tracing.TraceEvent官方资料库. 准备 (1)需要用到类:M ...

  6. C#调用接口注意要点

    在用C#调用接口的时候,遇到需要通过调用登录接口才能调用其他的接口,因为在其他的接口需要在登录的状态下保存Cookie值才能有权限调用, 所以首先需要通过调用登录接口来保存cookie值,再进行其他接 ...

  7. .NET MVC 学习笔记(七)— 控制input控件

    .NET MVC 学习笔记(七)— 控制input控件 画面中有时候需要输入数字,这时就需要控制input的输入.以下为保留两位有效数字. /* * 初始化数字输入 */ function initD ...

  8. linux03

    linux day31.正则表达式 \* ------重复0无数次 \+ ------重复1 无数次 ^ -------开头 $ -------结尾 | ------或 & ----- 与 ( ...

  9. form表单组件

    1.sweetalert 组件地址 form组件 form表单完成的事情,:   提供input可以提交数据, 对提交的数据进行校验,提供错误提示 定义form组件 from django impor ...

  10. Spring学习笔记3——消息队列(rabbitmq), 发送邮件

    本节的内容是用户注册时,将邮箱地址先存入rabbitmq队列,之后返回给用户注册成功:之后消息队列的接收者从队列中获取消息,发送邮件给用户. 一.RabbitMQ介绍     如果之前对rabbitm ...