11月16日 给游戏添加声音,给角色添加死亡动画,创建物体的血量UI UE4斯坦福 学习笔记入声音

给游戏添加声音

很简单的小功能

新建两个蓝图类型是Cue和Attenuation

修改Attenuation的预设

在cue内插入预设

给角色添加死亡动画

首先在角色蓝图的状态蓝图内添加死亡动画

添加一个bool变量Is Alive

 

修改角色组件USAttributeComponent.h文件

UFUNCTION(BlueprintCallable,Category="Health") bool IsALive();

在.cpp内添加

bool USAttributeComponent::IsALive() { return Health > 0.0f; }

在角色.h蓝图内添加函数

UFUNCTION() void OnHealthChanged(AActor* InstigatorActor,USAttributeComponent* OwningComp,float NewHealth,float Delta);

virtual void PostInitializeComponents() override;

在.cpp内添加

void ASCharacter::PostInitializeComponents() { //初始化的时候绑定事件 Super::PostInitializeComponents(); AttributeComp->OnHealthChanged.AddDynamic(this,&ASCharacter::OnHealthChanged); }

void ASCharacter::OnHealthChanged(AActor* InstigatorActor, USAttributeComponent* OwningComp, float NewHealth, float Delta) { //当血量少于0的时候清除控制器的输入 if(NewHealth < 0.0f && Delta<0.0f) { APlayerController * PC = Cast<APlayerController>(GetController()); DisableInput(PC); } }

最后在角色动画蓝图内添加

 

创建物体的血量UI

新建UI

 

在之前学习材质建立的Dummy物体内添加蓝图

##这里遇到了问题,创建出来的UI一直在画面中央不在物体上

已经解决,是Dummy的蓝图内创建错误

我一开始创建的是Object

 

经过修改后是

 

我们应该创建的是Widget类型而不是Object类型

##又出现了奇怪的Bug,SetRenderTranslation显示的位置错误

已解决,是因为我忘记调整UI的位置了

修改前:

 

修改后:

 

效果图:

最后让UI在击中的时候才会显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值