把此类放到 Editor下使用就OK

 using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEditor; /// <summary>
/// 添加鼠标右键事件
/// </summary>
[InitializeOnLoad]
[ExecuteInEditMode]
public static class AddMouseRight
{ static AddMouseRight()
{
SceneView.onSceneGUIDelegate = OnSceneFunc;
} private class Item
{
public string MenuName { get; set; }
public GenericMenu.MenuFunction2 Call { get; set; }
}
static List<Item> S_MenuList = new List<Item>();
public static void AddMenu(string menuName, GenericMenu.MenuFunction2 call)
{
Item item = new Item();
item.MenuName = menuName;
item.Call = call;
S_MenuList.Add(item);
} static void OnSceneFunc(SceneView sceneView)
{
if (S_MenuList.Count == )
{
return;
} if (Event.current.isMouse && Event.current.button == )
{
Vector3 p = Event.current.mousePosition; GenericMenu menu = new GenericMenu(); foreach(Item i in S_MenuList)
{
menu.AddItem(new GUIContent(i.MenuName), false, i.Call, p);
}
menu.ShowAsContext(); Event.current.Use();
}
} public static void Reset()
{
while(S_MenuList.Count > )
{
S_MenuList.RemoveAt();
}
} }

Unity 添加鼠标右键事件的更多相关文章

  1. WinForm -- 为TextBox文本框添加鼠标右键菜单

    WinForm -- 为TextBox文本框添加鼠标右键菜单 1. 新建一个WinForm项目,放置一个TextBox控件 2. 从工具箱拖进来一个ContextMenuStrip 3. 将TextB ...

  2. 如何在C#添加鼠标右键菜单

    C#添加鼠标右键方法步骤: 1 选中要添加右键功能的Form或者控件,打开控件的设计页面. 2 从工具箱中找到ContextMenuStrip控件,将这个控件拖曳到Form或者控件的设计页面上.这时系 ...

  3. jquery鼠标右键事件

    $('body').live("mousedown",function(e){ $('body').bind("contextmenu",function(e) ...

  4. jquery 鼠标右键事件、左键单击事件判定

    $(function(){ $('a').mousedown(function(e){ alert(e.which) // 1 = 鼠标左键 left; 2 = 鼠标中键; 3 = 鼠标右键 retu ...

  5. javascript 处理鼠标右键事件

    使用右键事件 在需要右键的地方加上  onmousedown="if(event.button == 2) alert('点击右键了!');即可   不经意地被一位同事问起在javascri ...

  6. Javascript和jquery事件--鼠标右键事件,contextmenu

    右键点击触发是浏览器的默认菜单事件contextmenu,你可以选择阻止它,使用event.preventDefault();或者return false;. 想要定义右键点击事件,关注的是mouse ...

  7. 添加鼠标右键菜单项(EditPlus为例)

    下载Editplus,发现大多是绿色版,这就导致鼠标右键快捷菜单了,使用起来不方面,上网搜集了下资料,解决方法很简单: 首先进入注册表:regedit 然后如图设置新项. 其中editplus是右键菜 ...

  8. html js 捕捉鼠标右键事件,按下滚轮事件,左键点击事件

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  9. AngularJS实现鼠标右键事件

    常规javascript鼠标右键直接在标签上加contextmenu="alert('a')"即可,现在angular通过directive来定义一个右键指令. app.direc ...

随机推荐

  1. Kafka集群无法外网访问问题解决攻略

    Kafka无法集群外网访问问题解决方法  讲解本地消费者和生产者无法使用远程Kafka服务器的处理办法 服务搭建好Kafka服务后,机本.测试 OK,外面机器却无法访问,很是怪异. 环境说明:  Ka ...

  2. jenkin报错hudson.plugins.git.GitExcept

    清除工作空间 转载请注明博客出处:http://www.cnblogs.com/cjh-notes/

  3. C# 为VB6.0程序模拟串口数据

    为VB6.0编写程序模拟数据测试使用. 一.VB6.0 控件MSComm,来发送接收串口数据 CommPort 属性设置并返回通讯端口号,虚拟端口为COM2. Settings 属性设置并返回端口的波 ...

  4. 第110天:Ajax原生js封装函数

    一.Ajax的实现主要分为四部分: 1.创建Ajax对象 // 创建ajax对象 var xhr = null; if(window.XMLHttpRequest){ xhr = new XMLHtt ...

  5. 【bzoj5130】[Lydsy12月赛]字符串的周期 DFS+KMP

    题目描述 给定 $n$ 和 $m$ ,求所有 长度为 $n$ ,字符集大小为 $m$ 的字符串,每个前缀的最短循环节长度乘积 的总和. $n\le 12,m\le 10^9$ 题解 DFS+KMP 对 ...

  6. java执行cmd命令并获取输出结果

    1.java执行cmd命令并获取输出结果 import java.io.BufferedReader; import java.io.InputStreamReader; import org.apa ...

  7. BZOJ5073 小A的咒语(动态规划)

    设f[i][j][0/1]为前i位选j段时其中第i位选/不选最多能匹配到哪,转移时f[i][j][0]→f[i+1][j][0],f[i][j][1]→f[i+1][j][0],f[i][j][1]→ ...

  8. 解数独(Python)

    0.目录 1.介绍 2.一些通用函数 3.全局变量(宏变量) 4.数独预处理(约束传播) 5.解数独(深度优先搜索+最小代价优先) 6.主函数 7.总代码 1.介绍 数独是一个非常有趣味性的智力游戏, ...

  9. 在 QML 中创建 C++ 导入类型的实例

    在 QML 中创建 C++ 导入类型的实例 文件列表: Project1.pro QT += quick CONFIG += c++ CONFIG += declarative_debug CONFI ...

  10. 如何用Qt Python创建简单的桌面条形码应用

    Qt for Python可以快速跨平台的GUI应用.这篇文章分享下如何结合Dynamsoft Barcode Reader SDK来创建一个简单的读码应用. 安装Qt for Python 官方站点 ...