16.UE5中C++ Delay延迟实现, Destroy和DestroyComponent,BeginPlay方法不执行的问题

原视频地址:

【虚幻5】UE5C++零基础全网全流程开发从入门到进阶教程合集(持续跟新中)_哔哩哔哩_bilibili

目录

C++ Delay函数实现

注意:如果你的Actor中的BeginPlay方法没有执行

 Destroy和DestroyComponent


C++ Delay函数实现

蓝图中的delay

使用C++实现一个延迟效果

延迟回调函数的声明,即延迟之后我们想要执行的函数

UFUNCTION()
void DelayFunction();

//延迟响应方法的实现,在屏幕上打印,表示该方法执行
void AMyMaterialActor::DelayFunction()
{
	GEngine->AddOnScreenDebugMessage(-1, 5.0, FColor::Red, TEXT("DelayFunction EXE!"));
}

FLatentActionInfo延迟事件对象,记录了事件的ID,还有执行事件的对象,执行事件的方法等

const FLatentActionInfo LatentInfo(0, FMath::Rand(), TEXT("DelayFunction"), this);

延迟方法的调用,需要添加一个头文件

#include "Kismet/KismetSystemLibrary.h"

 调用delay方法

UKismetSystemLibrary::Delay(this,5.0f,LatentInfo);

注意:如果你的Actor中的BeginPlay方法没有执行

查看你的游戏模式是不是被自定义的游戏模式重写了,当游戏模式是默认的时候,才会在游戏开始时调用所有Actor的BeginbPlay方法。

 Destroy和DestroyComponent

实现我们的碰撞之后销毁actor的方法

 碰撞之后销毁我们特定组件的方法,以粒子特效为例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值