游戏开发分享

[Godot] C#获取MenuButton节点索引

2025-10-23
1 分钟50 字

最近在游戏开发中,我需要制作一个简单的编辑器,所以用到了菜单栏,这里给大家讲一讲我是怎么实现的

节点介绍

MenuButton节点主要在于item,当我们点击按钮,弹出的菜单项就是我们填写的这些元素,我们可以在主题里面看到这些可以有不同的设置

当我们新建一个元素时,其中的ID就会自增,这是我们知道用户点了什么的办法,而Text就是显示的文字

下面,我们直接来到脚本方面

获取点击项

我们可以在脚本里面获取MenuButton节点,获取他的PopupMenu(选择列表)

方法和属性大家可以查看Godot手册,这里我们通过信号获取点击的索引

using Godot;
using System;
 
public partial class ProjectMain : Control
{
    [Export] public MenuButton EditorMenu;   //项目文件栏
 
    public override void _Ready()
    {
        var popup = EditorMenu.GetPopup();
        popup.IdPressed += ChooseMenu;      //连接信号
    }
 
    private void ChooseMenu(long index)     //项目下拉栏点击触发,菜单栏
    {
        GD.Print(index);
    }
 
}

这样,我们就能得到点击的索引号

参考链接: Godot手册-PopupMenu

许可协议: CC BY-SA 4.0 。转载请注明出处,允许商用;改编/转载须以相同许可(CC BY-SA 4.0)发布。如有问题请联系我。