本文使用关卡动画回调为例
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);