概述
UE4蓝图中存在Delay节点(只能在事件图表里使用)
如果要在UE C++ 实现,可以使用Timer.
在这里,我的目标是设置bIsRolling = 1后,延时一段时间再设置bIsRolling =0;
1.在头文件声明计时器。
//计时器
FTimerHandle TimerHandle;
2.Cpp代码(注意注释)
void ACharacterBase::Roll()
{
if (!bIsRolling)
{
if ((InputX == 0) && (InputY == 0))
{
CurrentInputX = 0;
CurrentInputY = 0;
bIsRolling = 1;
//延时具体实现,0.2秒后会执行setIsRoll()方法,将bIsRolling设为0;
GetWorld()->GetTimerManager().SetTimer(TimerHandle, this, &ACharacterBase::setIsRoll, 0.2f, true);
}
else if (!bIsLocking)
{
CurrentInputX = 1;
CurrentInputY = 0;
bIsRolling = 1;
//
GetWorld()->GetTimerManager().SetTimer(TimerHandle, this, &ACharacterBase::setIsRoll, 0.7f, true);
}
}
}
//被Timer调用
void ACharacterBase::setIsRoll()
{
bIsRolling = 0;
//清除计时器TimerHandle
GetWorld()->GetTimerManager().ClearTimer(TimerHandle);
}
最后
以上就是文静鼠标为你收集整理的UE4 C++中实现Delay效果的全部内容,希望文章能够帮你解决UE4 C++中实现Delay效果所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复