CreateDefaultSubobject
1.创建组件
.h
UPROPERTY(EditAnywhere, BlueprintReadWrite)
UActorComponent *MyComp;
.cpp
MyComp = CreateDefaultSubobject<UActorComponent>("MyComp");
2.获取controller
APlayerController* PlayerController = UGameplayStatics::GetPlayerController(GWorld, 0);
3.获取controller pawn
APlayerController* PlayerController = UGameplayStatics::GetPlayerController(GWorld, 0);
myPawn = PlayerController->GetPawn();
4.Pawn转自己的类型
APlayerController* PlayerController = UGameplayStatics::GetPlayerController(GWorld, 0);
myPawn = PlayerController->GetPawn();
Axxx* xxx = Cast<Axxx>(myPawn);
5.LineTraceSingleByChannel的使用
FVector Start = ;
FVector End = ;
FHitResult OutHitResult;
FCollisionQueryParams QueryParams(SCENE_QUERY_STAT(DestopPresenceCursorTrace), true, this);
bool bSuccess = GetWorld()->LineTraceSingleByChannel(OutHitResult, Start, End, ECC_Visibility, QueryParams);
6.打印到屏幕
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Green, FString::Printf(TEXT("bSuccess : %d"), (int)bSuccess));
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, FString::Printf(TEXT("string : %s"), *mystring));
7.获取路径
FPaths::ProjectContentDir();//相对路径
FPaths::ConvertRelativePathToFull(FPaths::ProjectContentDir())//绝对路径
FPaths::ConvertRelativePathToFull(FPaths::ProjectContentDir()) + FString("htl/Index.html");//全部路径
8.让函数变为纯函数,没有白线,直接调用
//BlueprintPure
UFUNCTION(BlueprintCallable, BlueprintPure, Category = "xxx")
9.hidden状态也是可以点击的
关于Overlapbegin和OverlapEnd,在物体处于hidden时是否触发?
答案是的
10.ue4内部调用tab
ExcuteConsoleCommand用来调用命令行同tab