分类: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 键盘输入的更多相关文章

  1. HoloLens开发手记 - Unity之Keyboard input 键盘输入

    虽然HoloLens支持很多种输入方式,包括蓝牙键盘在内.但是大部分应用还是不能断定用户有物理键盘可以输入,所以虚拟键盘输入还是必须要提供的. Unity提供了一个TouchScreenKeyboar ...

  2. 关于Unity中的Input输入事件

    截获鼠标,键盘的消息 监听事件我们都是在Update里面监听的. Unity的虚拟轴打开:Edit-->Project Settings-->Input,打开的各个Name就是双引号里面要 ...

  3. WPF 捕获键盘输入事件

    最近修改的一个需求要求捕获键盘输入的 Text,包括各种标点符号. 最开始想到的是 PreviewKeyDown 或者 PreviewKeyUp 这样的键盘事件. 但是这两个事件的对象 KeyEven ...

  4. android键盘输入读取

    android键盘输入读取  监控android键盘输入方式有两种,一种在java层实现,重写onKeyDown和onKeyUp方法.另一种是在jni层实现,监控/dev/input/event0键盘 ...

  5. 使用C#模拟键盘输入、鼠标移动和点击、设置光标位置及控制应用程序的显示

    1.模拟键盘输入(SendKeys) 功能:将一个或多个按键消息发送到活动窗口,就如同在键盘上进行输入一样. 语法:SendKeys.Send(string keys);SendKeys.SendWa ...

  6. java利用Scanner获取键盘输入

    首发地址:我的网易博客 在运行一个java程序的时候,可能我们需要在运行的时候传递一些参数进去...咋办呢... java提供了一个Scanner类,利用这个类,我们可以很方便的获取键盘输入的参数.. ...

  7. SendInput模拟键盘输入的问题

    SendInput模拟键盘输入的问题  http://www.cnblogs.com/yedaoq/archive/2010/12/30/1922305.html 最近接触到这个函数,因此了解了一下, ...

  8. VB模拟键盘输入的N种方法

    VB模拟键盘输入的N种方法http://bbs.csdn.net/topics/90509805hd378发表于: 2006-12-24 14:35:39用VB模拟键盘事件的N种方法 键盘是我们使用计 ...

  9. JAVA第三周作业(从键盘输入若干数求和)

    JAVA第三周作业(从键盘输入若干数求和) 在新的一周,我学习了JAVA的IO编程.下面的代码实现了从键盘输入若干数求和的目标.import java.util.Scanner; public cla ...

  10. C# Winform中无焦点状态下获取键盘输入或者USB扫描枪数据

    类文件: C#类文件 using System; using System.Collections.Generic; using System.Text; using System.Runtime.I ...

随机推荐

  1. 转 linux下面apache2.0.52+php5+gd2+mysql

    gd2才开始支持真彩图片的创建,所以,,升级服务器,因为原来的安装都是默认的系统安装,也更因为是个菜鸟,所以,安装很困难,起初根据网上一些文章在我的red hat A 3 上安装测试,不过,测试了安装 ...

  2. 在QTableView中某列中添加Button的导致滚动条滚动的时候消失的问题

    之前在项目上需要在表格中加入Button是按照以下两个文章的做法: http://www.cnblogs.com/li-peng/p/3961843.html http://www.cnblogs.c ...

  3. excel中的数据粘贴不全到plsql中,excel 粘贴后空白,Excel复制粘贴内容不全

    http://zhidao.baidu.com/link?url=pHZQvfWJzI-lQjl4uP86q4GLcpYHu4o-fdjiYegJS0Cy5HEq5oz0YrUye3iHjmv5CJ3 ...

  4. Ubuntu菜鸟入门(十三)—— 切换软件源

    默认中国服务器,我们把它切换成aliyun的. 在设置--软件和更新里--下载自--其他站点--中国--http://mirrors.aliyun.com/ubuntu 先把所有软件源和软件更新到最新 ...

  5. 新浪安装weiphp2.0的方法

    请安装此网页的方法来安装: https://coding.net/u/idoubi666/p/weiphp-sae/git

  6. Centos 安装ImageMagick 与 imagick for php步骤详解

    现在有很多朋友在使用安装ImageMagick imagick for php了,今天自己也想做但是不知道如何操作,下面我来给大家介绍Centos 安装ImageMagick imagick for ...

  7. 【Servlet】Java Serlvet Listener 监听器

    Listener监听器 Servlet规范中定义的一种特殊的组件,用来监听Servlet容器产生的事件并进行相应的处理 容器产生的事件分类 - 生命周期相关的事件 - 设置和删除Attribute数据 ...

  8. 【Oracle】Oracle索引

    在关系数据库中,索引是一种与表有关的数据库结构,它可以使对应于表的SQL语句执行得更快.索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容. 对于数据库来说,索引是一个必选项,但对于现 ...

  9. 【Oracle】Oracle中复合数据类型

    1,常见的操作数据库的技术有那些 jdbc     使用java 访问数据库的技术    PLSQL  (procedure  过程化sql) 在数据库内部操作数据的技术    proc/c++    ...

  10. linux系统yum方式安装htop命令[转]

    CentOS下为yum加入rpmForge源,使用yum安装htop 为CentOS增加rpmForge软件源 wget http://pkgs.repoforge.org/rpmforge-rele ...