@UE 事件构造

![[@UE 事件构造 2022-12-20 16.42.42.excalidraw]]

#gameinstance
![](../../../../images/Pasted%20image%2020221220164610.png)
组合蓝图

#POT/理解 可以看作是一个自动按下的按钮。那么在程序启动后,这也将会启动。

[[construct]]

网络链接

Event Construct | ueHow (fc2.com)

Event Construct Called after the underlying slate widget is constructed. Depending on how the slate object is used this event may be called multiple times due to adding and removing from the hierarchy.
If you need a true called-once-when-created event, use OnInitialized. 在构造基础石板小部件后调用。根据 slate 对象的使用方式,由于在层次结构中添加和删除,可能会多次调用此事件。
如果需要真正的创建时调用一次事件,请使用 OnInitialized。 ■Target User Widget

2

我想我不明白你在这里问什么。按钮事件在事件图表上自行运行。例如,按下按钮时,当按下按钮时,它会在事件图表上运行。OnConstruct事件只是在小部件的事件图上运行的另一个事件。首次生成小组件时调用此事件。

如果我做对了,你需要做的是:

  • 调用 OnPressed 事件时,请使用“类的构造小部件”来创建新的小部件。
    您可以传递当前小部件的引用,以便以后可以使其可见。
    您可能希望创建对此新小组件的引用,这样就不必每次都创建它。

  • 将当前小部件的可见性设置为“隐藏”(考虑到隐藏的小部件不会打勾),因此您无法在其上调用事件。

  • 将新小部件的所有事件处理到其自己的事件图表中(也许按下另一个按钮返回上一个小部件)。

事件构造与事件开始播放相同吗?

我猜你在这里使用的是小部件蓝图。如果是这样,那么是的,“事件构造”是相当于普通蓝图中的事件开始播放的小部件。“事件预构造”取代了构造脚本。 如果在 Construct 中为某些变量分配一些值,则可以初始化它们,因此您可以在默认属性中看到它,这是初始化变量的辅助方法。