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

 更新时间:2015年11月11日 14:29:38   投稿:mrr  
这篇文章主要介绍了Unity3D获取当前键盘按键及Unity3D鼠标、键盘的基本操作的相关资料,需要的朋友可以参考下

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

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#中泛型类和扩展方法如何使用

    C#中泛型类和扩展方法如何使用

    这篇文章介绍了C#中泛型类和扩展方法的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10
  • C#实现基于IE内核的简单浏览器完整实例

    C#实现基于IE内核的简单浏览器完整实例

    这篇文章主要介绍了C#实现基于IE内核的简单浏览器,较为详细的分析了C#实现浏览器的原理与主要功能实现方法,并附带完整实例供大家下载,需要的朋友可以参考下
    2015-07-07
  • 关于C#10 新特性 Lambda 优化

    关于C#10 新特性 Lambda 优化

    这篇文章主要介绍了C# 10 新特性 Lambda 优化,C# 10 对于 Lambda 做了很多的优化,我们可以在 C# 中更加方便地使用委托和 Lambda 了,下面就来看一些示例,需要的朋友也可以参考一下
    2021-11-11
  • 基于C#编写获取硬件信息的工具类

    基于C#编写获取硬件信息的工具类

    这篇文章主要为大家详细介绍了如何利用C#编写一个获取硬件信息的简单工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-11-11
  • C#集合根据对象的某个属性进行去重的代码示例

    C#集合根据对象的某个属性进行去重的代码示例

    当根据对象的Name属性进行去重时,你可以使用以下三种方法:使用Distinct方法和自定义比较器、使用LINQ的GroupBy方法,以及使用HashSet,下面给大家介绍C#集合根据对象的某个属性进行去重的代码示例,感兴趣的朋友一起看看吧
    2024-03-03
  • WPF 自定义雷达图开发实例教程

    WPF 自定义雷达图开发实例教程

    这篇文章主要介绍了WPF 自定义雷达图开发实例教程,本文介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • 终于了解了下.net 和 j2ee的区别

    终于了解了下.net 和 j2ee的区别

    终于了解了下.net 和 j2ee的区别...
    2007-04-04
  • C#12中的Primary Constructors主构造函数详解

    C#12中的Primary Constructors主构造函数详解

    主构造函数把参数添加到class与record的类声明中就是主构造函数,这篇文章主要介绍了C#12中的Primary Constructors 主构造函数,需要的朋友可以参考下
    2023-11-11
  • c#获取相同概率随机数的算法代码

    c#获取相同概率随机数的算法代码

    这篇文章主要介绍了c#获取相同概率随机数的算法代码,有需要的朋友可以参考一下
    2014-01-01
  • 基于Kubernetes实现前后端应用的金丝雀发布(两种方案)

    基于Kubernetes实现前后端应用的金丝雀发布(两种方案)

    这篇文章主要介绍了基于Kubernetes实现前后端应用的金丝雀发布,文中给大家提到了两种常用方案,通过示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2021-12-12

最新评论