Unity3D获取当前键盘按键及Unity3D鼠标、键盘的基本操作

所属分类: 软件编程 / C#教程 阅读数: 84
收藏 0 赞 0 分享

获取当前键盘按键,代码如下:

using UnityEngine;
using System.Collections;
public class GetCurrentKey : MonoBehaviour {
 KeyCode currentKey;
 void Start ()
 {
  currentKey = KeyCode.Space;
 }
 void OnGUI()
 {
  if (Input.anyKeyDown)
  {
   Event e = Event.current;
   if (e.isKey)
   {
    currentKey = e.keyCode;
    Debug.Log("Current Key is : " + currentKey.ToString());
   }
  }
 }
}

下面给大家介绍Unity3D鼠标、键盘的基本操作

键盘:  

GetKey             当通过名称指定的按键被用户按住时返回true
GetKeyDown   当用户按下指定名称的按键时的那一帧返回true。
GetKeyUp        在用户释放给定名字的按键的那一帧返回true。 
GetAxis(“Horizontal")和GetAxis(“Verical”) 用方向键或WASD键来模拟-1到1的平滑输入   

键盘判断:   

If(Input.GetKeyDown(KeyCode.A)){//KeyCode表示包含键盘所有键     
print(“按下A键”); }  If(Input.GetKeyUp(KeyCode.D)){//当按D键松开时    
print(“松开D键”); }  If(Input.GetAxis(“Horizontal")){//当按下水平键时   
print(“按下水平键”); }  If(Input.GetKeyUp("Verical“)){当按下垂直键时    
print(“按下垂直键”); }  

鼠标:  

GetButton           根据按钮名称返回true当对应的虚拟按钮被按住时。
GetButtonDown      在给定名称的虚拟按钮被按下的那一帧返回true。
GetButtonUp        在用户释放指定名称的虚拟按钮时返回true。  

鼠标判断:   

if(Input.GetButton("Fire1")){//Fire1表示按下鼠标左键       
print(“按下鼠标左键”); }  if (Input.GetMouseButton(0)) {//0表示鼠标左键     
Debug.Log("按下鼠标左键"); }   if (Input.GetMouseButton(1)) {//1表示鼠标右键    
Debug.Log("按下鼠标右键");  }  if (Input.GetMouseButton(2)) {//2表示鼠标中键    
Debug.Log("按下鼠标中键"); } 

给物体施加普通力:   

1、先给物体添加刚体 
2、transform.rigidbody.AddForce(0,0,1000);  一个简单例子让小球撞破墙: 

代码如下: 

using UnityEngine; 
using System.Collections; 
public class Cube : MonoBehaviour { // Use this for initialization 
void Start () { }  // Update is called once per frame void Update () { 
if(Input.GetKey(KeyCode.W)){//当鼠标按下W键时,小球向前移动 
transform.Translate(Vector3.forward); 
} 
if(Input.GetKey(KeyCode.S)){当鼠标按下S键时,小球向后移动  
transform.Translate(Vector3.back); 
天猫双十一活动
 } if(Input.GetKey(KeyCode.A)){当鼠标按下A键时,小球向左移动 
 transform.Translate(Vector3.left); 
 } 
 if(Input.GetKey(KeyCode.D)){当鼠标按下D键时,小球向右移动 
 transform.Translate(Vector3.right); 
 } if(Input.GetButton("Fire1")){//当点击鼠标左键时,小球撞塌墙 
 transform.rigidbody.AddForce(0,0,200);//物体向前移动的力为200 
 } 
 } 
 } 

更多精彩内容其他人还在看

c#开发word批量转pdf源码分享

已经安装有Office环境,借助一些简单的代码即可实现批量Word转PDF,看下面的实例源码吧
收藏 0 赞 0 分享

c# xml API操作的小例子

这篇文章主要介绍了c# xml API操作的小例子,有需要的朋友可以参考一下
收藏 0 赞 0 分享

c#唯一值渲染实例代码

这篇文章主要介绍了c#唯一值渲染实例代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

淘宝IP地址库采集器c#代码

这篇文章主要介绍了淘宝IP地址库采集器c#代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

C#在后台运行操作(BackgroundWorker用法)示例分享

BackgroundWorker类允许在单独的专用线程上运行操作。如果需要能进行响应的用户界面,而且面临与这类操作相关的长时间延迟,则可以使用BackgroundWorker类方便地解决问题,下面看示例
收藏 0 赞 0 分享

c#文本加密程序代码示例

这是一个加密软件,但只限于文本加密,加了窗口控件的滑动效果,详细看下面的代码
收藏 0 赞 0 分享

c#生成站点地图(SiteMapPath)文件示例程序

这篇文章主要介绍了c#生成站点地图(SiteMapPath)文件的示例,大家参考使用
收藏 0 赞 0 分享

C# 键盘Enter键取代Tab键实现代码

这篇文章主要介绍了C# 键盘Enter键取代Tab键实现代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

C# WinForm导出Excel方法介绍

在.NET应用中,导出Excel是很常见的需求,导出Excel报表大致有以下三种方式:Office PIA,文件流和NPOI开源库,本文只介绍前两种方式
收藏 0 赞 0 分享

C#串口通信程序实例详解

在.NET平台下创建C#串口通信程序,.NET 2.0提供了串口通信的功能,其命名空间是System.IO.Ports,创建C#串口通信程序的具体实现是如何的呢?让我们开始吧
收藏 0 赞 0 分享
查看更多