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界面的选项菜单需要鼠标悬停在某个元素 ...
随机推荐
- 【python-proxy by sockets5】pysocks
pip install pysocks https://stackoverflow.com/questions/2317849/how-can-i-use-a-socks-4-5-proxy-with ...
- SSM是什么框架?
SSM框架,是Spring + Spring MVC + MyBatis的缩写,这个是继SSH之后,目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统. 1.Spring简介 ...
- BareTail大文件日志实时查看工具
BareTail 动态的查看日志文件,就像Linux上的tail tail -f nohup.out 功能: 实时文件查看 tail命令模式,自动滚动 支持2g以上大文件 自动滚动 彩色监控 多文件监 ...
- Windbg在软件调试中的应用
Windbg在软件调试中的应用 Windbg是微软提供的一款免费的,专门针对Windows应用程序的调试工具.借助于Windbg, 我们常见的软件问题:软件异常,死锁,内存泄漏等,就可以进行高效的排查 ...
- Win7下telnet使用
出于安全考虑,win7已经禁用了telnet这一功能, telnet是明文传输的,安全性很差. 知道了这一点就不奇怪为什么在win7下不能使用telnet了,下面就详细介绍下如何重新开启telnet服 ...
- EditDistance,求两个字符串最小编辑距离,动态规划
问题描述: 题目描述Edit DistanceGiven two words word1 and word2, find the minimum number of steps required to ...
- 解决Spring Boot中,通过filter打印post请求的 request body 问题
http://slackspace.de/articles/log-request-body-with-spring-boot/ (filter + RequestWrapper:最优雅的写法) ht ...
- ios开发之--复制到剪切板
仅做记录: UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; pasteboard.string = @"你好&quo ...
- Linux od命令(以指定进制显示文件)
从“读取二进制文件”出发,到od命令的使用 在桃村实习期间,一直努力做毕业设计,我的毕业设计中有一个内容就是读取SEGY文件.在读取文件时,经常遇到的问题时你要读取浮点型数据,这时你就必须考虑你所使用 ...
- 【代码审计】QYKCMS_v4.3.2 任意文件读取漏洞分析
0x00 环境准备 QYKCMS官网:http://www.qykcms.com/ 网站源码版本:QYKCMS_v4.3.2(企业站主题) 程序源码下载:http://bbs.qingyunke. ...