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内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复