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#教程
下一篇:Silverlight将图片转换为byte的实现代码
本文标题:Unity3D获取当前键盘按键及Unity3D鼠标、键盘的基本操作
本文地址:https://www.xiuzhanwang.com/a1/C_jiaocheng/6852.html
您可能感兴趣的文章
- 01-10C#通过反射获取当前工程中所有窗体并打开的方法
- 01-10C#实现读取注册表监控当前操作系统已安装软件变化的方法
- 01-10C#实现判断当前操作用户管理角色的方法
- 01-10C#获取进程或线程相关信息的方法
- 01-10C#调用dos窗口获取相关信息的方法
- 01-10C#编程获取资源文件中图片的方法
- 01-10C#获取任务栏显示进程的方法
- 01-10C#及WPF获取本机所有字体和颜色的方法
- 01-10C#获取动态生成的CheckBox值
- 01-10C#获取网页源代码的方法
阅读排行
本栏相关
- 01-10C#通过反射获取当前工程中所有窗体并
- 01-10关于ASP网页无法打开的解决方案
- 01-10WinForm限制窗体不能移到屏幕外的方法
- 01-10WinForm绘制圆角的方法
- 01-10C#实现txt定位指定行完整实例
- 01-10WinForm实现仿视频播放器左下角滚动新
- 01-10C#停止线程的方法
- 01-10C#实现清空回收站的方法
- 01-10C#通过重写Panel改变边框颜色与宽度的
- 01-10C#实现读取注册表监控当前操作系统已
随机阅读
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-10SublimeText编译C开发环境设置
- 01-10delphi制作wav文件的方法
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-11ajax实现页面的局部加载
- 01-10C#中split用法实例总结
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 04-02jquery与jsp,用jquery