Unity3d组合键

创建一个脚本:CombinationKey.cs

 1 using UnityEngine;
 2 using System.Collections;
 3
 4 public class CombinationKey
 5 {
 6     public CombinationKey (KeyCode p,KeyCode a)
 7     {
 8         PrimaryKey = p;
 9         AttachKey = a;
10     }
11
12     public CombinationKey() { }
13     /// <summary>
14     /// 主键
15     /// </summary>
16     public KeyCode PrimaryKey
17     {
18         set { primaryKey = value; }
19     }
20     private KeyCode primaryKey = KeyCode.LeftControl;
21     bool bPrimary = false;
22     /// <summary>
23     /// 附键
24     /// </summary>
25     public KeyCode AttachKey
26     {
27         set { attachKey = value; }
28     }
29     private KeyCode attachKey = KeyCode.E;
30
31     /// <summary>
32     /// 按下组合键后,只返回一次真
33     /// </summary>
34     /// <returns></returns>
35     public bool ClickKey()
36     {
37         if (Input.GetKeyDown(primaryKey))
38         {
39             bPrimary = true;
40         }
41         if (Input.GetKeyUp(primaryKey))
42         {
43             bPrimary = false;
44         }
45         if (bPrimary)
46         {
47             if (Input.GetKeyDown(attachKey))
48             {
49                 return true;
50             }
51             else
52             {
53                 return false;
54             }
55         }
56         else
57         {
58             return false;
59         }
60     }
61     /// <summary>
62     /// 按下组合键后,一直返回真,直到松开
63     /// </summary>
64     /// <returns></returns>
65     public bool PressKey()
66     {
67         if (Input.GetKeyDown(primaryKey))
68         {
69             bPrimary = true;
70         }
71         if (Input.GetKeyUp(primaryKey))
72         {
73             bPrimary = false;
74         }
75         if (bPrimary)
76         {
77             if (Input.GetKey(attachKey))
78             {
79                 Debug.Log("d");
80                 return true;
81             }
82             else
83             {
84                 return false;
85             }
86         }
87         else
88         {
89             return false;
90         }
91     }
92     void Update()
93     {
94         ClickKey();
95         PressKey();
96     }
97 }

使用该脚本:test.cs

using UnityEngine;
using System.Collections;

public class test : MonoBehaviour
{
    CombinationKey mKey = new CombinationKey(KeyCode.LeftControl, KeyCode.E);
    void Update()
    {
        if(mKey.ClickKey()) {Debug.Log("Click");}
    }
}        
时间: 2024-10-31 09:08:35

Unity3d组合键的相关文章

Windows+X组合键失效问题

有时候,生活总给你带来点出其不意的乐趣,比如今天的[Windows+X组合键失效],网上找了很多教程,修改注册表等等,均无效. 博主在使用Win7.10.甚至8的时候居然都遇到这问题了,中间间隔时间很长,所以一般会忘记了上次是怎么解决的.对于一个一贯遵循能用键盘搞定的坚决不用鼠标的装X爱好者来说,简直是一场灾难. 现解决方法如下,Win10,Win7亲测有效: 开始->运行->gpedit.msc命令->用户配置->管理模板->Windows组件->文件资源管理器(有些

利用原生JS判断组合键

<script type="text/javascript"> var isAlt = 0; var isEnt = 0; document.onkeydown = function(e){ var evn = e||event; var code = evn.keyCode||evn.which||evn.charCode; if(code==13){ isEnt = 1; } if(code==18){ isAlt = 1; } // 判读Alt+Enter组合键 if

eclipse中代码格式化组合键失效了

因为最近在整理java笔记,发现代码格式化的组合键失效了,但其他的组合键是好着的,设置里面找了也是对着的. 最后是在输入法的设置里面发现了它,原来是快捷键冲突了.取消输入法里面 的快捷键就好了,或者改掉也行.

C# 依据KeyEventArgs与组合键字符串相互转换

/// 快捷键相关的类 /// </summary> public static class HotKeyInfo { /// <summary> /// 依据KeyEventArgs生成组合键字符串 /// </summary> /// <param name="e"></param> /// <returns></returns> public static string GetStringByKe

bash默认组合键,通配符及特殊符号

看鸟哥Linux私房菜中介绍的linux命令太多了,看一遍打一遍还是记不住,鉴于目前是在Windows下工作,又对于Linux系统的爱好,所以之后装了虚拟机在玩,由于本人比较笨,看一遍跟着书敲一遍还是记不住,所以就在此练练手,回忆一下看的内容,重新敲一遍加强记忆. 1.bash默认组合键: Ctrl+C ----------->终止目前的命令 Ctrl+D ----------->输入结束(EOF),例如邮件结束的时候 Ctrl+M ----------->就是Enter Ctrl+S

神奇的效率 WIN+ 组合键

win键 下文简称 win,是日常办公中除了Ctrl + C 以外的高效组合键 win+1.2.3-阿拉伯数字  按照在任务栏的排列顺序,快速启动的固定在任务栏的快捷方式,或者打开已经打开的该程序 win+shift+1.2.3- 按照顺序开启新的任务栏图标窗口 win+alt+1.2.3- 按照顺序显示任务栏的右键属性 win+break 当前界面启动系统属性管理界面 win+b 选中右下方工具栏 win+d显示桌面 win+e打算资源管理器 win+f 显示查找所有文件 win+l锁定计算机

Bash基础(2) 通配符 组合键 数据重定向 管道 tee

Bash基础(2)     通配符  组合键  数据重定向  管道  tee命令 1 文本名"通配符" *:匹配任意长度的任意字符: ?:匹配任意单个字符: []: 匹配指定范围内的任意单个字符: [0-9] [^]:匹配范围外的任意单个字符: [^a-b] 字符集合: [:lower:] 匹配任何小写字母 [:upper:] 匹配任何大写字母 [:alnum:] 匹配任何字母 [:digit:]  匹配任何数字 [:space:] 匹配空格符 [:punct:] 匹配任何标点符号 [

Ibatis组合键关联查询

在使用Ibatis时,会经常遇到关联查询,一般有两种解决方案: 使用代码进行关联查询 使用Ibatis配置文件进行关联查询 使用代码进行关联查询不作解释,本次主要是针对Ibatis配置文件进行关联查询进行探究,如发现有问题或不当之处还请不吝赐教! 对于Ibatis配置文件进行关联查询,下面举一个例子进行辅助描述: 假设有这样一个需求:某一网站页面需要展示文章,文章有两种不同的类别,分别为A1.A2,在每篇文章后都会跟随一些相关的商品,同一商品可关联任意类别文章. 分析该需求可得知,文章一张表,相

PostMessage 向Windows窗口发送Alt组合键

关于向Windows窗口发送Alt组合键的问题,这个真是经典问题啊,在网上找了一下,问的人N多,方法差不多, 但就是没有很好解决问题. 之前找到一个能正确发送的code:(Alt+A) PostMessage(hWnd,WM_SYSKEYDOWN,VK_MENU,0); PostMessage(hWnd,WM_SYSKEYDOWN,0x41,0); Sleep(50); PostMessage(hWnd,WM_SYSKEYUP,0x41,0); PostMessage(hWnd,WM_SYSKE