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界面的选项菜单需要鼠标悬停在某个元素 ...
随机推荐
- jmeter正则表达式提取器--关联
http://desert3.iteye.com/blog/1394934 1.http://www.cnblogs.com/quange/archive/2010/06/11/1756260.htm ...
- Greenplum-cc-web监控软件安装时常见错误
错误error: 1.no pg_hba.conf entry for host “::1”, user “gpmon”, database “gpperfmon”, SSL off 解决: vi ...
- 和我一起学《HTTP权威指南》——客户端识别与cookie机制
客户端识别与cookie机制 服务器需要区别是哪个客户端. 个性化接触 HTTP是匿名.无状态的请求/响应协议. Web站点希望: 对客户端的用户有更多的了解 追踪用户浏览页面的行为 因此,产生了几种 ...
- lua正则表达式如何匹配中文
function CheckChinese(s) local ret = {}; local f = '[%z\1-\127\194-\244][\128-\191]*'; local line, l ...
- -webkit-user-select
-webkit-user-select: none;//不可选 -webkit-user-select: auto; //可复制
- C# IsBackground作用
https://blog.csdn.net/snakorse/article/details/43888847 要点: 1.当在主线程中创建了一个线程,那么该线程的IsBackground默认是设置为 ...
- NetBpm XML解读(5)
原文: nPdl的翻译 在看NetBPM的nPdl文档时做了个翻译,一来是让自己能更好的理解nPdl,二来是希望能得到关心NetBPM的同志的指导. 由于对工作流不熟悉,所以有不少术语翻译没有把 ...
- 简单思考 如何用PHP输出本周的周三日期
简单思考 如何用PHP输出本周的周三日期?比如今天2017-10-31 计算本周周三应该是2017-11-01 自己动脑筋想一想,然后给我留言或者评论
- Redis 操作字符串数据
Redis 操作字符串数据: > set name "Tom" // set 用于添加 key/value 数据,如果 key 存在则覆盖 OK > setnx nam ...
- Python中字符串的intern机制
intern机制: 字符串类型作为Python中最常用的数据类型之一,Python解释器为了提高字符串使用的效率和使用性能,做了很多优化,例如:Python解释器中使用了 intern(字符串驻留)的 ...