欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

UE5 C++多人TPS实战教程笔记第16篇:深入解析P17 - 菜单系统(The Menu Class)

最编程 2024-02-15 21:34:55
...
// Fill out your copyright notice in the Description page of Project Settings. #include "Menu.h" /* P17 菜单类(The Menu Class)*/ void UMenu::MenuSetup() { AddToViewport(); // 添加到视口 SetVisibility(ESlateVisibility::Visible); // 设置菜单可见 bIsFocusable = true; // 允许鼠标点击的时候聚焦 UWorld* World = GetWorld(); if (World) { APlayerController* PlayerController = World->GetFirstPlayerController(); // 获取玩家控制器指针 if (PlayerController) { FInputModeUIOnly InputModeSettings; // 用于设置只允许控制 UI 的输入模式 // 输入模式设置 InputModeSettings.SetWidgetToFocus(TakeWidget()); // 设置焦距,TakeWidget()将获取底层的 slate 部件,如果不存在则构造它 InputModeSettings.SetLockMouseToViewportBehavior(EMouseLockMode::DoNotLock); //设置鼠标在视口时不锁定 // 将设置好的输入模式传送到到玩家控制器的输入模式 PlayerController->SetInputMode(InputModeSettings); // 设置玩家控制器的输入模式 PlayerController->SetShowMouseCursor(true); // 显示鼠标光标 } } } /* P17 菜单类(The Menu Class)*/