在 GMS UI 中,我有一个菜单,其中有一个子菜单。我想确认dm-script中是否存在子菜单。
如果子菜单存在,我可以使用下面的代码来获取名称。但如果子菜单不存在,则会报错。首先,我尝试使用 try-catch 结构来避免错误并使代码正常工作。但似乎仍然给出错误。
Object MB = GetMenuBar()
Object Menu = MB.FindMenuItemByName("Menu")
Object SubMenu = Menu.FindMenuItemByName("SubMenu")
Result(SubMenu.GetName())
通常,当使用返回对象引用的函数/方法(例如
FindMenuItemByName
)时,最好使用该方法ScriptObjectIsValid
来测试返回的对象是否有效并相应地分支代码。因此,在您的示例中,您可能想要执行以下操作:也可以通过 try-catch 来做到这一点,但它并不是特别清晰(或更干净),如下所示: