UE4 因为错误设置,导致在蓝图中GetGameMode,程序卡住了

it2022-05-05  144

直奔主题。

我没有新建GameMode,直接用已经有的,发现他在构造函数里做了一些默认设置,我也做了一些默认设置,也就是说我CPP的GameMode设置了一些默认变量。

像下面这样的。。。

static ConstructorHelpers::FClassFinder<AIncinerationPlayerController> BPPlayerControllerClassFinder(TEXT("/Game/Blueprints/Core/BP_PlayerController")); if (BPPlayerControllerClassFinder.Class) { PlayerControllerClass = BPPlayerControllerClassFinder.Class; } PlayerControllerClass = AIncinerationPlayerController::StaticClass(); static ConstructorHelpers::FClassFinder<AIncinerationPlayerState> BPPlayerStateClassFinder(TEXT("/Game/Blueprints/Core/BP_PlayerState")); if (BPPlayerStateClassFinder.Class) { PlayerStateClass = BPPlayerStateClassFinder.Class; } PlayerStateClass = AIncinerationPlayerState::StaticClass(); static ConstructorHelpers::FClassFinder<AGS_Incineration> BPGameStateClassFinder(TEXT("/Game/Blueprints/Core/BP_GameState")); if (BPGameStateClassFinder.Class) { GameStateClass = BPGameStateClassFinder.Class; } GameStateClass = AGS_Incineration::StaticClass();

紧接着,我创建了继承自CPP 的GameMode的蓝图类,然后在项目设置里,设置了一些咋的吧的。 我想干啥呢:在任意一个UMG蓝图里的Event Construct事件处,调用Get Game Mode,Cast to 蓝图类GameMode,运行,OK,卡住了,也不报错。

也就是说这两个东西是有冲突的,不能这样设置,这样设置了只能Cast to CPP的GameMode。同理,对于其它的类也是一样的道理。

我好死不活的还对PlayerController下手了。


最新回复(0)