本文使用關卡動畫回調為例
1.創建關卡動畫
FString assetsPath = "你的路徑";
FStringAssetReference sequenceName(assetsPath);ULevelSequence* sequenceAsset = Cast<ULevelSequence>(sequenceName.TryLoad());ALevelSequenceActor* currentLevelSequenceActor = nullptr;ULevelSequencePlayer* sequencePlayer = ULevelSequencePlayer::CreateLevelSequencePlayer(GetWorld(), sequenceAsset, FMovieSceneSequencePlaybackSettings(), currentLevelSequenceActor);
2.在.h文件中創建回調引用和方法
UFUNCTION()void OnFinished();ULevelSequencePlayer* nowLSPlayer = nullptr;
.cpp中的實現
void ALevelSequenceManager::OnFinished()
{UE_LOG(LogTemp, Warning, TEXT("Finish結束了"));}
3.使用回調
OnFinishedDelegate.BindUFunction(this,STATIC_FUNCTION_FNAME(TEXT("ALevelSequenceItem::OnFinished")));sequencePlayer->OnFinished.Add(OnFinishedDelegate);