右键菜单 GenericMenu

本文介绍如何在Unity中为自定义编辑器窗口实现右键菜单功能。通过继承EditorWindow并利用GenericMenu,可以创建包含多个选项的上下文菜单,并为每个菜单项指定回调函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.cnblogs.com/zhaoqingqing/p/3799294.html

自定义窗口中使用右键菜单:
  
// This example shows how to create a context menu inside a custom EditorWindow.
class MyGenericMenu extends EditorWindow {
    
    @MenuItem("Game/Open Window")
    static function Init () { var window = GetWindow (MyGenericMenu); window.position = Rect (50, 50, 250, 60); window.Show (); } function Callback (obj:Object) { Debug.Log ("Selected: " + obj); } function OnGUI() { var evt : Event = Event.current; var contextRect : Rect = new Rect (10, 10, 100, 100); if (evt.type == EventType.ContextClick) { var mousePos : Vector2 = evt.mousePosition; if (contextRect.Contains (mousePos)) { // Now create the menu, add items and show it var menu : GenericMenu = new GenericMenu (); menu.AddItem (new GUIContent ("MenuItem1"), false, Callback, "item 1"); menu.AddItem (new GUIContent ("MenuItem2"), false, Callback, "item 2"); menu.AddSeparator (""); menu.AddItem (new GUIContent ("SubMenu/MenuItem3"), false, Callback, "item 3"); menu.ShowAsContext (); evt.Use(); } } } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值