Skip to main content
 首页 » 资源教程 » UE4教程

ue4 定时器

2016年09月01日 12:51:063190
定个成员变量,hold住这个定时器
                 FTimerHandle       mTimer;

使用lambda表达式的delegate
                                 auto rotaInterp = [&]() -> void{
                                                 mTurnToRot = UKismetMathLibrary:: RInterpTo(
                                                                 GetActorRotation()
                                                                , UKismetMathLibrary::FindLookAtRotation (GetActorLocation(), mTurnToLoc)
                                                                , GetWorld()->GetDeltaSeconds ()
                                                                , 10.f);

                                                 if (GetActorRotation ().Equals( mTurnToRot, 1.f))
                                                {
                                                                 this->GetWorldTimerManager ().ClearTimer( mTimer); //清理定时器
                                                                 UE_LOG(SkillLogger, Warning , TEXT("--- AMyChar::FaceToTargetLoc, stop rotate"));
                                                }
                                                 else
                                                {
                                                                 SetActorRotation(mTurnToRot );
                                                }
                                };

                                 GetWorldTimerManager().SetTimer (mTimer, FTimerDelegate::CreateLambda(rotaInterp ), GetWorld()->GetDeltaSeconds (), true); //设置定时器

还有各种delegate就自己去发挥了

 ue4 定时器 UE4教程 第1张

 ue4 定时器 UE4教程 第2张
评论列表暂无评论
发表评论