c++调用蓝图的自定义事件
时间: 2023-10-04 21:13:08 浏览: 85
要调用蓝图的自定义事件,需要在蓝图中创建一个自定义事件,并将其公开为可调用的函数。然后,在蓝图外部的其他蓝图或蓝图实例中,可以使用“执行自定义事件”节点来调用该事件。
以下是调用蓝图自定义事件的步骤:
1. 在蓝图中创建自定义事件
在蓝图编辑器中,选择要添加自定义事件的节点,然后在节点上右键单击并选择“添加自定义事件”。命名事件并添加所需的输入和输出参数。
2. 公开自定义事件
在蓝图编辑器中,选择要公开自定义事件的节点,然后在节点上右键单击并选择“公开为函数”。这将使自定义事件可在蓝图外部调用。
3. 调用自定义事件
在蓝图外部的其他蓝图或蓝图实例中,使用“执行自定义事件”节点来调用该事件。将要调用的蓝图和自定义事件名称作为节点的输入参数。
例如,假设您有一个名为“MyBlueprint”的蓝图,并且在其中创建了一个名为“MyCustomEvent”的自定义事件。要从另一个蓝图调用此事件,可以按如下方式使用“执行自定义事件”节点:
1. 添加“执行自定义事件”节点到蓝图中
2. 将“执行自定义事件”节点连接到要触发事件的目标蓝图
3. 在“执行自定义事件”节点的输入面板中,选择要调用的蓝图和自定义事件名称
4. 配置自定义事件的输入参数(如果有的话)
5. 触发“执行自定义事件”节点,以触发目标蓝图中的自定义事件。
相关问题
怎么在C++里调用蓝图中的自定义事件
在C++中,可以通过以下步骤来调用蓝图中的自定义事件:
1. 在蓝图中创建一个自定义事件,并确保其被公开(Public)。
2. 在C++类中添加一个指向蓝图的引用,例如:
```c++
UPROPERTY(EditAnywhere, BlueprintReadWrite)
UBlueprint* MyBlueprint;
```
3. 在C++中调用蓝图中的自定义事件,例如:
```c++
if (MyBlueprint)
{
MyBlueprint->ProcessEvent(FindFunctionChecked(TEXT("MyCustomEvent")), nullptr);
}
```
这里,`MyCustomEvent`是蓝图中的自定义事件的名称。通过`FindFunctionChecked`函数可以找到该事件的指针,然后使用`ProcessEvent`函数来调用该事件。
需要注意的是,该方法仅适用于通过蓝图创建的自定义事件。如果要调用蓝图中的其他函数或变量,可以在蓝图中添加一个函数或变量,并在C++中使用`MyBlueprint->FindFunction()`或`MyBlueprint->FindVariable()`来查找并访问它们。
在c++中调用蓝图的自定义事件
在C++中调用蓝图的自定义事件:
1. 在C++类中声明一个UPROPERTY,用于保存指向蓝图对象的指针。
```cpp
UPROPERTY(BlueprintReadWrite, Category = "MyCategory")
class UMyBlueprint* MyBlueprintObject;
```
2. 在C++类中声明一个函数,用于调用蓝图中的自定义事件。
```cpp
UFUNCTION(BlueprintCallable, Category = "MyCategory")
void CallMyBlueprintEvent();
```
3. 在函数的实现中,使用蓝图对象的指针调用自定义事件。
```cpp
void MyClass::CallMyBlueprintEvent()
{
if (MyBlueprintObject)
{
MyBlueprintObject->MyCustomEvent();
}
}
```
4. 在蓝图中,创建一个自定义事件,并将其添加到MyBlueprintObject中。
5. 在蓝图中,将MyBlueprintObject的引用传递给C++对象。
6. 在C++中,调用CallMyBlueprintEvent函数,从而触发蓝图中的自定义事件。
阅读全文