UE4 常用API记录

功能:

向显示屏打印一条数据,相当于蓝图的PrintString

#include "UnrealEngine.h"

GEngine->AddOnScreenDebugMessage
(
    uint64 Key,
    float TimeToDisplay,
    FColor DisplayColor,
    const FString & DebugMessage,
    bool bNewerOnTop,
    const FVector2D & TextScale
);

Key:-1意味着我们不会重写已经存在的字符串,仅仅是追加一条新的上一条下面

         非-1意味着我们每次都会替换已存在的字符串,或者创建一个新的,在相同位置

DebugMessgae:可使用FString的成员函数来生成字符串。

功能:

使一个变量显示在Detail面板上

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "XXX")  

写在头文件中,右键EditAnywhere转到定义,可查看更多类型

BlueprintReadWrite,意味着蓝图是否可以直接使用

Category,控制变量显示在Detail面板的那个类别,方便查找

功能:

使一个方法可以被蓝图调用

UFUNCTION(BlueprintCallable, Category = "XXX")  

功能:

使函数的引用参数能被蓝图调用

UPARAM(ref) ParamType& ParamName

功能:

开启点击事件

UGameplayStatics::GetPlayerController(GetWorld(), 0)->bEnableClickEvents = true;

功能:

公开一个指针在蓝图中

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = CustomCategory)
    class ClassType*  VariableName;

功能:

自定义一个Component,可被蓝图调用

UCLASS(ClassGroup = (CustomGroup), meta = (BlueprintSpawnableComponent))

功能:

传递一个类型变量

UFUNCTION(BlueprintCallable, Category = "LBP/User Interface")
		static UUserWidget* CreateAndAddWidget(APlayerController* OwningPlayer, TSubclassOf<UUserWidget> UserWidgetClass, int ZOrder = 0,bool ShowMouseCursor = true);

  

UUserWidget* ULanslotBP::CreateAndAddWidget(APlayerController* OwningPlayer, TSubclassOf<UUserWidget> UserWidgetClass, int ZOrder, bool ShowMouseCursor)
{
    if (!UserWidgetClass)
    {
        return nullptr;
    }
    UUserWidget* wid = CreateWidget<UUserWidget>(OwningPlayer, UserWidgetClass);
    if (wid)
        wid->AddToViewport(ZOrder);
    OwningPlayer->bShowMouseCursor = ShowMouseCursor;
    
    return wid;
}
原文地址:https://www.cnblogs.com/CodeSnippet/p/7093185.html