📜  ue4 获取视口大小 c++ (1)

📅  最后修改于: 2023-12-03 15:20:47.678000             🧑  作者: Mango

获取视口大小的方法(UE4 C++)

在UE4中,获取视口(Viewport)大小是一个常见的需求。本文将介绍两种获取视口大小的方法。

方法一:使用Engine/Source/Runtime/Engine/Public/Engine.h中的函数

在UE4项目中,可以使用Engine/Source/Runtime/Engine/Public/Engine.h中的函数FViewport::GetSizeXY()获取视口大小。具体代码如下:

#include "Runtime/Engine/Public/Engine.h"

void SomeClass::SomeFunction()
{
    FViewport* Viewport = GEngine->GameViewport->Viewport;
    FVector2D ViewportSize = Viewport->GetSizeXY(); // 获取视口大小
}

代码中,首先获取了GameViewport,然后通过GameViewport的Viewport成员获取视口,并通过FViewport的GetSizeXY()方法获取了视口大小。

方法二:使用PlayerController的GetViewportSize()方法

在UE4中,还可以使用PlayerController的GetViewportSize()方法获取视口大小。具体代码如下:

#include "Runtime/Engine/Classes/Engine/World.h"
#include "Runtime/Engine/Classes/Engine/LocalPlayer.h"
#include "Runtime/Engine/Classes/GameFramework/PlayerController.h"

void SomeClass::SomeFunction()
{
    UWorld* World = GetWorld();
    APlayerController* PlayerController = World->GetFirstPlayerController();
    FVector2D ViewportSize = PlayerController->GetViewportSize(); // 获取视口大小
}

代码中,首先获取了当前World,在通过World的GetFirstPlayerController()方法获取了PlayerController,并通过PlayerController的GetViewportSize()方法获取了视口大小。

结论

两种方法均可用于获取视口大小,使用哪个方法都可以,取决于个人喜好。

以上就是本文介绍的关于在UE4 C++中获取视口大小的方法。