http://api.unrealengine.com/CHN/Programming/UnrealArchitecture/Delegates/
主要就是在角色死亡之后 向全局广播 我死了 这个事件
然后因为Controller对Tank绑定了OnDeath事件(死后就执行OnControlledTankDeath())
h:(玩家控制的角色)(Tank.h)
在include下面写:
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FTankDelegate); //以F开头的代理类型
FTankDelegate OnDeath; //创建了一个全局的事件(代理),代理的变量
cpp:(同上)
在TakeDamage(之前写的)中 生命值为负数时广播 死亡信息
float ATank::TakeDamage(float DamageAmount, struct FDamageEvent const& DamageEvent, class AController* EventInstigator, AActor* DamageCauser) {
int32 DamagePoint = F

本文详细介绍了在Unreal Engine 4 (UE4)中,如何使用C++处理角色死亡事件,并通过代理机制广播死亡信息。当角色生命值为负时,触发死亡广播,Controller(如AIController或PlayerController)在BeginPlay中绑定死亡事件。由于Controller生成时间早于Actor,故需要重写SetPawn方法确保事件绑定。同时,文中讨论了在PlayerController中处理重生的实现细节,需要注意防止错误的Pawn引用导致程序崩溃。
最低0.47元/天 解锁文章
4177

被折叠的 条评论
为什么被折叠?



