【Unity】7.3 键盘输入
分类:Unity、C#、VS2015
创建日期:2016-04-21
一、简介
键盘事件也是桌面系统中的基本输入事件。和键盘有关的输入事件有按键按下、按键释放、按键长按,Input类中可以通过下图所示的方法来处理:
上面的方法通过传入按键名称字符串或者按键编码KeyCode指定要判断的按键。
下图所示是常用按键的按键名与KeyCode编码,供读者参考,完整的按键编码请查阅Unity用户手册。
二、基本用法示例
下面的代码演示了如何响应键盘按键事件:
void Update()
{
//按下键盘A键
if(Input.GetKeyDown(KeyCode.A))
{
//...
}
//按住键盘A键
if(Input.GetKey(KeyCode.A))
{
//...
}
//抬起键盘A键
if(Input.GetKeyUp(KeyCode.A))
{
//...
}
//按下键盘左Shift键
if(Input.GetKeyDown(KeyCode.LeftShift))
{
//...
}
//按住键盘左Shift键
if(Input.GetKey(KeyCode.LeftShift))
{
//...
}
//抬起键盘左Shift键
if(Input.GetKeyUp(KeyCode.LeftShift))
{
//...
}
}
示例(Demo3_1_ControlExample.unity)
该例子演示如何控制模型在x平面上移动。
下面的代码演示了如何得到Horizontal轴的值
void Update () {
//得到Horizontal轴的值
float axisH = Input.GetAxis("Horizontal");
}
下面的代码用键盘方向键或者W、A、S、D按键来控制模型在x平面上移动,只需要将脚本(ControlExample.cs文件)添加到模型上即可:
using UnityEngine;
using System.Collections;
public class ControlExample : MonoBehaviour
{
public float speed = 10.0f; //行驶速度
public float rotationSpeed = 100.0f; //转向速度
void Update()
{
//使用上下箭头或者W、S键来控制前进后退
float translation = Input.GetAxis("Vertical") * speed;
//使用左右箭头或者A、D键来控制左右旋转
float rotation = Input.GetAxis("Horizontal") * rotationSpeed;
translation *= Time.deltaTime;
rotation *= Time.deltaTime;
//在x-z平面上移动
transform.Translate(0, 0, translation);
transform.Rotate(0, rotation, 0);
}
}
运行效果:
【Unity】7.3 键盘输入的更多相关文章
- HoloLens开发手记 - Unity之Keyboard input 键盘输入
虽然HoloLens支持很多种输入方式,包括蓝牙键盘在内.但是大部分应用还是不能断定用户有物理键盘可以输入,所以虚拟键盘输入还是必须要提供的. Unity提供了一个TouchScreenKeyboar ...
- 关于Unity中的Input输入事件
截获鼠标,键盘的消息 监听事件我们都是在Update里面监听的. Unity的虚拟轴打开:Edit-->Project Settings-->Input,打开的各个Name就是双引号里面要 ...
- WPF 捕获键盘输入事件
最近修改的一个需求要求捕获键盘输入的 Text,包括各种标点符号. 最开始想到的是 PreviewKeyDown 或者 PreviewKeyUp 这样的键盘事件. 但是这两个事件的对象 KeyEven ...
- android键盘输入读取
android键盘输入读取 监控android键盘输入方式有两种,一种在java层实现,重写onKeyDown和onKeyUp方法.另一种是在jni层实现,监控/dev/input/event0键盘 ...
- 使用C#模拟键盘输入、鼠标移动和点击、设置光标位置及控制应用程序的显示
1.模拟键盘输入(SendKeys) 功能:将一个或多个按键消息发送到活动窗口,就如同在键盘上进行输入一样. 语法:SendKeys.Send(string keys);SendKeys.SendWa ...
- java利用Scanner获取键盘输入
首发地址:我的网易博客 在运行一个java程序的时候,可能我们需要在运行的时候传递一些参数进去...咋办呢... java提供了一个Scanner类,利用这个类,我们可以很方便的获取键盘输入的参数.. ...
- SendInput模拟键盘输入的问题
SendInput模拟键盘输入的问题 http://www.cnblogs.com/yedaoq/archive/2010/12/30/1922305.html 最近接触到这个函数,因此了解了一下, ...
- VB模拟键盘输入的N种方法
VB模拟键盘输入的N种方法http://bbs.csdn.net/topics/90509805hd378发表于: 2006-12-24 14:35:39用VB模拟键盘事件的N种方法 键盘是我们使用计 ...
- JAVA第三周作业(从键盘输入若干数求和)
JAVA第三周作业(从键盘输入若干数求和) 在新的一周,我学习了JAVA的IO编程.下面的代码实现了从键盘输入若干数求和的目标.import java.util.Scanner; public cla ...
- C# Winform中无焦点状态下获取键盘输入或者USB扫描枪数据
类文件: C#类文件 using System; using System.Collections.Generic; using System.Text; using System.Runtime.I ...
随机推荐
- Leveldb 使用说明文档
Leveldb 使用说明文档 原作者:Jeff Dean, Sanjay Ghemawat 翻译:乌合之众solym@sohu.com 英文原文地址https://rawgit.com/google/ ...
- java第四节 异常/访问控制/jar包
/* 异常 异常定义了程序中遇到的非致命的错误,而不是编译时的语法错误,如程序要打开一个不存在的文件 网络连接中断,操作数越界,装载一个不存在的类等 try, catch语句 throws关键字 自定 ...
- CSS中常见的长度单位
原文地址:https://segmentfault.com/a/1190000008934791?utm_source=tuicool&utm_medium=referral px - 像素 ...
- AngleSharp 的Dom 选择器
AngleSharp https://developer.mozilla.org/en-US/docs/Web/API/Element/querySelectorAll Element.querySe ...
- SG 函数初步 HDU 1536 && HDU 1944
题目链接:http://acm.hdu.edu.cn/showproblem.php? pid=1944 pid=1536"> http://acm.hdu.edu.cn/showpr ...
- PHP-SESSION深入理解
1.浏览器窗口与SESSION间的关系 记得去年的时候网上抢手机(你懂的), 特意开两个窗口, 哪个进度快用哪个.如此到输入验证码的时候老是出错, 结果----没抢到~ 后来写了个程序, 如下: &l ...
- 使用gprof对应用程序做性能评测
1,包含头文件gperftools/profiler.h 2,代码结构如下: int main() { // codes ProfilerStart("./profile"); / ...
- easyui的datagrid分页写法小结
easyui的datagrid分页死活不起作用...沙雕了...不说了上代码 //关闭tab1打开tab2 查询Detail function refundDetail(){ $('#tt').tab ...
- Using PHP as a Spring MVC View via Quercus(转)
原贴: http://blog.caucho.com/2009/04/14/using-php-as-a-spring-mvc-view-via-quercus/ This week, I’ve be ...
- 关于去哪儿网的UI自动化测试脚本
UI自动化测试Qunar机票搜索场景访问Qunar机票首页http://flight.qunar.com,选择“单程”,输入出发.到达城市,选择today+7日后的日期,点“搜索”,跳转到机票单程搜索 ...