创建栅格菜单

Time:15 分钟

在创建带有游戏手柄控件的菜单系统时必须特别小心。使用常规界面,用户可以轻松单击或点选要选择的位置。对于简单快捷的菜单,Articles/Creating a Radial Menu|摇杆快速菜单很适合游戏手柄,但是对于更复杂和传统的菜单,用户必须通过在元素之间移动选择器来导航菜单。GuiService 会自动尝试确定用户要使用游戏手柄选择的元素,但有时需要额外的配置才能使菜单正常工作。

本教程将使用 GuiService 和 ContextActionService 来实现一个简单的设备管理菜单系统。

概述

本教程中的代码创建了设备管理系统的框架:首先在屏幕上创建一个按钮,如果用户在选中该按钮的情况下按 A,则游戏会弹出一个模型菜单,其中显示了简单的角色模型和物品栅格。

GamepadGrid_Image00.png

GamepadGrid_Image04.png

GamepadGrid_Image03.png

设置

该代码要做的第一件事是创建菜单。游戏中的菜单当然可以事先创建和存储,但在本例中,菜单元素是在脚本中独立创建的。

GamepadGrid_Image01.png

关于菜单最为重要的就是将在定义选择群组时使用的层次结构。角色栏位的所有按钮都是 CharacterFrame 的子级,所有栅格按钮都是 ScrollingFrame 的子级

GamepadGrid_Image02.png

打开菜单

定义菜单布局后,代码将绑定输入以打开和关闭菜单。Gui 按钮(例如 ImageButtonTextButton)都可以接受游戏手柄输入。如果玩家在选中按钮的情况下按下 A 按钮,则会触发 GuiButton/MouseButton1Click 事件。

Roblox官方链接:创建栅格菜单