//实现代码如下:
/// <summary> /// 切换关卡 /// </summary> /// <param name="LevelName"></param> void AMain::SwitchLevel(FName LevelName) { UWorld* World = GetWorld(); if (World) { FString CurrentLevel = World->GetMapName(); FName CurrentLevelName(*CurrentLevel); if (CurrentLevelName != LevelName) { UGameplayStatics::OpenLevel(World, LevelName); } } }
//调用方法如下:
if (OtherActor) { AMain* Main = Cast<AMain>(OtherActor); if (Main) { Main->SwitchLevel(TransitionLevelName); } }