📅  最后修改于: 2023-12-03 15:20:47.678000             🧑  作者: Mango
在UE4中,获取视口(Viewport)大小是一个常见的需求。本文将介绍两种获取视口大小的方法。
在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()方法获取了视口大小。
在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++中获取视口大小的方法。