Unity3D笔记十六 输入输出-键盘事件、鼠标事件
输入与控制操作Unity为开发者提供了Input类库,其中包括键盘事件、鼠标事件和触摸事件等一切跨平台所需要的控制事件。
一、键盘事件
1、按下事件
Input.GetKeyDown():如果按键被按下,该方法将返回true,没有按下则返回false。
// Update is called once per frame
void Update () {
if (Input.GetKeyDown(KeyCode.A))
{
Debug.Log("您按下了A键");
}
if (Input.GetKeyDown(KeyCode.B))
{
Debug.Log("您按下了B键");
}
if (Input.GetKeyDown(KeyCode.Backspace))
{
Debug.Log("您按下了退格键");
}
if (Input.GetKeyDown(KeyCode.F1))
{
Debug.Log("您按下了F1键");
}
}
直接把代码附加到主摄像头

2、抬起事件
Input.GetKeyUp()方法得到抬起事件。方法和按下事件相同。
#region 抬起事件
if (Input.GetKeyUp(KeyCode.A))
{
Debug.Log("您抬起了A键");
}
if (Input.GetKeyUp(KeyCode.B))
{
Debug.Log("您抬起了B键");
}
if (Input.GetKeyUp(KeyCode.Backspace))
{
Debug.Log("您抬起了退格键");
}
if (Input.GetKeyUp(KeyCode.F1))
{
Debug.Log("您抬起了F1键");
}
#endregion

3、长按事件
监听键盘中某个按键是否一直处于被按下的状态,使用Input.GetKey()方法来判断。
#region 长按事件
int count = ;
if (Input.GetKeyDown(KeyCode.A))
{
Debug.Log("A按下一次");
}
if (Input.GetKey(KeyCode.A))
{
count++;
Debug.Log("A被连续按了:"+count);
}
if (Input.GetKeyUp(KeyCode.A))
{
//抬起后清空帧数
count = ;
Debug.Log("A按键抬起");
}
#endregion

4、任意键盘事件
在常见游戏中,读取完资源后,会提示玩家按任意键继续操作anyKeyDown

二、鼠标事件
和键盘事件一样,鼠标一般只有3个按键,左键、右键和中键。具体如下:
1、按下事件
Input.GetMouseButtonDown()来判断鼠标哪个按键被按下:如果参数为0,则代表鼠标左键被按下,
参数为1代表鼠标右键被按下,
参数为2代表鼠标中键被按下
2、抬起事件
Input.GetMouseButtonUp()方法监听鼠标按键的抬起事件
3、长按事件
使用Input.GetMouseButton()方法监听鼠标某个按键是否一直处于按下状态。
14-03-10
GUI.Button 补充
当使用tooltip时 需要添加一个label这点和webform不一样。
using UnityEngine;
using System.Collections; public class ButtonScript : MonoBehaviour { // Use this for initialization
void Start () { } // Update is called once per frame
void Update () { } void OnGUI()
{
//if (Time.time%2 > 1)
//{
if (GUI.Button(new Rect(10f, 10f, 100f, 60f), "Hello"))
{
print("你单击了Hello");
} GUI.Button(new Rect(10f, 80f, 100f, 60f), new GUIContent("我是按钮","这是一个提示")); GUI.Label(new Rect(10f, 160f, 100f, 60f), GUI.tooltip);
//}
}
}
效果:

Unity3D笔记十六 输入输出-键盘事件、鼠标事件的更多相关文章
- WPF嵌入Unity3D之后,unity3D程序的键盘和鼠标事件无法触发(3D程序的焦点无法激活)的解决方案
目前最通用的客户端调用3D的方式,就是WPF程序通过Process启动Unity3D的exe进程,直接上代码: //开启3D进程 internal void Create3DProcess(strin ...
- winform中键盘和鼠标事件的捕捉和重写(转)
在 编写winform应用程序时,有时需要无论在哪个控件获取焦点时,对某一个键盘输入或者鼠标事件都进行同样的操作.比如编写一个处理图片的应用程序时, 希望无论当前哪个控件获得焦点,当用户按上.下.左. ...
- winform中键盘和鼠标事件的捕捉和重写
在编写winform应用程序时,有时需要无论在哪个控件获取焦点时,对某一个键盘输入或者鼠标事件都进行同样的操作.比如编写一个处理图片的应用程序时,希望无论当前哪个控件获得焦点,当用户按上.下.左.右键 ...
- python3.4学习笔记(十六) windows下面安装easy_install和pip教程
python3.4学习笔记(十六) windows下面安装easy_install和pip教程 easy_install和pip都是用来下载安装Python一个公共资源库PyPI的相关资源包的 首先安 ...
- WPF之路-键盘与鼠标事件 - 简书
原文:WPF之路-键盘与鼠标事件 - 简书 键盘事件 事件类型分为以下几个类型 生命周期事件:在元素加载与卸载的时候发生 鼠标事件:鼠标动作 键盘事件:键盘动作 手写笔事件:适用于win7以上的系统 ...
- cocos2d-x 键盘和鼠标事件
出了菜单可以响应用户事件外,cocos2d中的层(Layer)也可以响应事件.层能够自动响应窗口事件,这些事件主要是键盘和鼠标事件,cocos2d中事件处理是通过Pyglet的事件处理完成的. 1.键 ...
- Selenium2+python自动化12-操作元素(键盘和鼠标事件)
前言 在前面的几篇中重点介绍了一些元素的到位方法,到位到元素后,接下来就是需要操作元素了.本篇总结了web页面常用的一些操作元素方法,可以统称为行为事件 有些web界面的选项菜单需要鼠标悬停在某个元素 ...
- 第二十六课:jQuery对事件对象的修复
因为原生的event对象,在不同浏览器下,有不同的属性和方法,因此需要用jQuery进行兼容. jQuery在这里分两步走,首先创建一个伪事件类jQuery.Event(jQuery里面自定义的事件类 ...
- 自动化测试-8.selenium操作元素之键盘和鼠标事件
前言 在前面的几篇中重点介绍了一些元素的定位方法,定位到元素后,接下来就是需要操作元素了.本篇总结了web页面常用的一些操作元素方法,可以统称为行为事件 有些web界面的选项菜单需要鼠标悬停在某个元素 ...
随机推荐
- 使用spring initialization创建SpringBoot项目
https://blog.csdn.net/liutong123987/article/details/79385513 有很多方法可以快速创建Springboot项目,可以通过idea的spring ...
- jenkins 忘记admin用户账号密码
一不小心,忘记了admin用户的账号密码.然后就看不到manage jenkins的那部分内容了,看不到就改不了用户权限,也就是系统瘫痪了. 于是,想着开始没注册账号和密码的时候,都能看见,也就是没有 ...
- InstallShield 制作MSI
1. click [project Assistant] 2. select [Build Installation], open this tab asfollow: 3.whenbuild ok ...
- Android App Crash, send email to author
http://www.iriphon.com/2011/06/23/how-do-i-get-android-crash-logs/
- chrome插件开发之调试
https://blog.csdn.net/qustdong/article/details/46046553
- 关于Android打版本号的小白文
尽管常常和android打交道.但事实上我对android不是非常了解. 这里记录一下ant编译androidproject的过程,然后顺便记录一下android的一些基本概念.不求渡人,但求渡己.这 ...
- 第四章 TCP粘包/拆包问题的解决之道---4.1---
4.1 TCP粘包/拆包 TCP是一个“流”协议,所谓流,就是没有界限的一串数据.TCP底层并不了解上层业务数据的具体含义,它会根据TCP缓冲区的实际情况进行包的划分,所以在业务上认为,一个完整的包可 ...
- linux-指定特殊域去重
测试数据: 2017-10-24 14:14:11:1123 [ INFO] order_type=add,order_id=9152017-10-24 14:14:11:1123 [ INFO] o ...
- linux修改文件所属用户和用户组
使用chown命令可以修改文件或目录所属的用户: 命令:chown 用户 目录或文件名 例如:chown testAdmin /home/work (把home目录下的xua ...
- VS调试DLL代码使用”附加到进程“
如果一个DLL解决方案,被另一个DLL2解决方案依赖,DLL2被可执行程序exe1引用 如何调试DLL的代码断点呢 1.可以参考另一篇随笔DLL如何调试 2.先运行起来exe1,然后再DLL项目中”调 ...