新手尝试在蓝图中整理东西

Newbie try put things in order in blueprints

我有一些关卡。每个级别都有自己的按钮。部分对应蓝图:

Define_Level 是我的事件,根据按下的按钮选择级别。

我是否需要有条件地为 20 个级别创建 20 个这种小型结构?听起来很糟糕。我考虑过从事件中获取有关按钮的信息,但我找不到执行此操作的路径。

////////////////////////////////////////// /////////////////////

后记:

我创建了 class 个按钮的子项。现在我可以直接在我的按钮上设置Level_num,太酷了。

我无法理解的最后一件事是如何将该函数绑定到 On_Clicked_Event

我试过了,但我需要为 Bind_Event_To_On_Clicked 输入设置一些东西。

您可以创建一个新的 bp class,它是 UMG 按钮 class 的子项,将其命名为 LevelSelectButton.

给class一个Name成员变量,LevelName

然后在那里定义一个名为 SetLevel 的函数,它使用 LevelName 设置级别。最后在按钮中,在适当的事件上使用 LevelName 调用 SetLevel。 (我宁愿在点击时执行,但如果您希望它在发布时执行,则由您决定)。

您需要创建一个调用 SetLevel 的自定义事件,然后使用将事件绑定到单击 来附加该事件。创建另一个名为 Init 的自定义事件,它调用 Bind Event:

然后在包含按钮的菜单小部件中,为每个级别 select 按钮使用 LevelSelectButton,并分配 每个按钮的 LevelName 作为它应该开始的级别的名称。

最后,您需要在创建菜单时对每个按钮调用 Init。一种方法是获取按钮容器的所有子项,将它们转换为 LevelSelectButton,然后对它们调用 Init