【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 ...
随机推荐
- 使用maven创建web项目【转】
1.首先新建一个maven项目,看图: 2.按照以上步骤就可以创建一个maven项目,可以看到最下图的目录结构,但是这样的目录结构是不对的,需要做一些修改. 首先为了避免乱码,我们应该将项目编码换成U ...
- Centos6下编译LEDE/OpenWrt
准备工作 1. 安装依赖软件 这是官方文档提供的依赖列表 yum install subversion binutils bzip2 gcc gcc-c++ gawk gettext flex ncu ...
- QQ通讯录VS360通讯录对新建信息界面中草稿的处理
在新建信息界面中,对草稿信息的处理. 1. QQ通讯录的处理是: 如果信息编辑框不为空,点击HOME键或者点击BACK键,保存草稿,同时结束新建信息界面. 如果收件人为空,也保存草稿,只是将收件人取名 ...
- Nosql数据库的四大分类及分布式数据库CAP原理
1. Nosql数据库的四大分类 2. 分布式数据库CAP原理 2.1 关系型数据库事务遵循的ACID规则 首先了解传统关系型数据库事务遵循的ACID规则: 原子性(Atomicity):事务里的所有 ...
- jquery.uploadify 在firefox会出现httperror
原来是因为我的上传处理页面的page 继承了一个基类影响到的 然后这个基类 好像是因为在别的项目里面的原因 希望对也遇到这样的问题的人有帮助咯
- winform视频教程-任务定时循环执行小工具
有时候,我们可能遇到这样的一种需求,就是需要有一个小工具,在服务器中不断的执行一些任务,那么这样的需求,我们可以做一个windows服务程序,或者做一个winform wpf等小程序,然后小程序里面开 ...
- LATeX 插入脚注
LATeX 插入脚注: 使用 \footnote{...注释内容} 命令: To maximize the lower-bound $ we employ conjugate gradient me ...
- 进阶之路(中级篇) - 018 基于arduino的简易版智能衣架
一. 设备及要求 目的:制作一个可以自动根据事实的天气的状况进行对衣架上的衣服进行晾晒. 基础装置:可伸缩的晾衣架. 开发环境:Arduino1. 8.1 主控板:Arduino UNO 动力装 ...
- windows 系统变量
%ALLUSERSPROFILE% : 列出所有用户Profile文件位置.%APPDATA% : 列出应用程序数据的默认存放位置.%CD% : 列出当前目录.%CLIENTNAME% : 列出联接到 ...
- YY老总李学凌给记者们的几句话
从记者到总编,从狗狗.多玩到如今的 YY.100 教育,似乎李学凌在这么多年来一直没有放缓过脚步.作为记者转型的成功案例,李学凌总结记者生涯有几方面令其获益匪浅: 1.平常心.对待再高层次的人,也用一 ...