ue4 blueprintassignable命令

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ue4 blueprintassignable命令
在Unreal Engine 4 (UE4) 中,BlueprintAssignable 是一个用于蓝图的修饰符(Decorator),用于将事件(Event)绑定到蓝图类的变量上。

使用`BlueprintAssignable` 修饰符,我们可以在蓝图中创建一个自定义的事件,并在其他蓝图中将该事件与变量进行绑定。

这样,在变量的值发生变化时,绑定的事件将被触发,执行相应的蓝图逻辑。

下面是`BlueprintAssignable` 的使用方法:
1. 在蓝图类的声明中,声明一个希望绑定事件的变量,并在其前面添加`BlueprintAssignable` 修饰符。

例如:
```
UPROPERTY(BlueprintAssignable, Category = "MyEvent") FMyEventSignature OnMyEvent;
```
2. 在同一蓝图类中,创建一个与变量绑定的自定义事件。

例如:
```
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FMyEventSignature);
UCLASS()
class YOURGAME_API UMyClass : public UObject
{
GENERATED_BODY()
public:
UPROPERTY(BlueprintAssignable, Category = "MyEvent")
FMyEventSignature OnMyEvent;
UFUNCTION(BlueprintCallable, Category = "MyEvent")
void TriggerMyEvent()
{
// 触发事件时调用OnMyEvent.Broadcast(),将会执行所有绑定的事件
OnMyEvent.Broadcast();
}
};
```
3. 在其他蓝图中,将该事件与其他蓝图的逻辑进行绑定。

例如,在
一个Actor 蓝图中:
```
UCLASS()
class YOURGAME_API AMyActor : public AActor
{
GENERATED_BODY()
public:
UPROPERTY(BlueprintAssignable, Category = "MyEvent")
FMyEventSignature OnMyEvent;
UFUNCTION(BlueprintCallable, Category = "MyEvent")
void HandleMyEvent()
{
// 在事件触发时执行的逻辑
UE_LOG(LogTemp, Warning, TEXT("MyEvent triggered!"));
}
};
...
// 在事件绑定时,将HandleMyEvent 方法与OnMyEvent 事件进行绑定
AMyActor* MyActor = Cast<AMyActor>(GetOwner());
if (MyActor)
{
MyActor->OnMyEvent.AddDynamic(this,
&AMyActor::HandleMyEvent);
}
```
这样,当`TriggerMyEvent` 方法在`UMyClass` 类中被调用时,绑定的`OnMyEvent` 事件会被触发,从而执行与之绑定的逻辑(如打印日志)。

请注意,`BlueprintAssignable` 只能用于蓝图类的变量,而不能用于普通的结构体或类。

此外,事件的触发和绑定操作是在蓝图的运行时进行的,而不是在编辑器中。

相关文档
最新文档