UFUNCTION用于成员方法,将成员方法给蓝图对象调用或者重写(1.事件形式重写;2.直接重写函数)
一、 BlueprintCallable:C++写好的成员方法,在蓝图中可以进行调用,蓝图不可重写;
UFUNCTION(BlueprintCallable)
void BlueprintCallableEvent();
定义:在屏幕上输出文字。
void ABoomItem::BlueprintCallableEvent()
{
GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Green, TEXT("BlueprintCallable!"));
}
二、
BlueprintImplementableEvent:在C++中定义但是不写实现,用蓝图去实现,可以在C++中直接调用; 如果是带有返回值的成员方法,要在Functions文件下使用override去重写,才能正确调用。
UFUNCTION(BlueprintImplementableEvent)
void BlueprintImplementableEventTest();
?
三、 BlueprintNativeEvent:在C++中定义并实现,C++实现的时候,方法名后面要加一个“_Implementation”,蓝图可以重载,如果要同时调用父类的实现代码,蓝图中右键->add?call?to?parent?function; 如果是带有返回值的成员方法,要在Functions文件下使用override去重写,才能正确调用。
?
UFUNCTION(BlueprintNativeEvent)
void BlueprintNativeEventTest();
void BlueprintNativeEventTest_Implementation();
void ABoomItem::BlueprintNativeEventTest_Implementation()
{
GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Red, TEXT("BlueprintNativeEventTest_Implementation!"));
}
?
?
?
|