UE求职Demo开发日志#12 完善击杀获得物品逻辑和UI

1 实现思路

1.给WarehouseManager添加一个按TArray增加物品的函数

2.Enemy身上一个变量记录掉落物品,死亡时调用增加物品函数

3.同时调用UI显示

2 实现过程

2.1 在WarehouseManager里添加一个AddItemByArray函数

遍历数组调用添加函数

cpp 复制代码
void UWarehouseManager::AddItemByArray(TArray<FMyItemInfo> ItemsToAdd)
{
	for(int32 i = 0; i < ItemsToAdd.Num(); i++)
	{
		AddItemToWarehouse(ItemsToAdd[i].ItemId,ItemsToAdd[i].CurrentOwnedCnt,ItemsToAdd[i].DisplayName);
	}
}

2.2 在Enemy中添加RewardItems变量

cpp 复制代码
UPROPERTY(EditAnywhere,BlueprintReadWrite,Category="Items")
TArray<FMyItemInfo> RewardItems;

在蓝图中设置值:

(之后测试用的新的值)

在死亡逻辑处调用:

LogMes是打印仓库信息的函数

输出信息:

能看出来正确添加了

2.3 添加UI

新建一个容器,实现Show函数,动态创建

创建完加一个延时移除:

每个单元里要实现更新信息的函数:

最后在Enemy死亡时加入显示UI的逻辑:

3 测试效果

左侧的提示是敌人死亡时动态添加的

相关推荐
慵懒学者1 小时前
JavaWeb 1.HTML+CSS (黑马JavaWeb课程笔记)
css·笔记·html
夏季疯2 小时前
学习笔记:黑马程序员JavaWeb开发教程(2025.3.23)
java·笔记·学习
程序员茶馆2 小时前
【unity】Vulkan模式下部分Android机型使用VideoPlayer组件播放视频异常问题
游戏·unity·游戏引擎·图形渲染·unity3d·游戏开发
虾球xz3 小时前
游戏引擎学习第238天:让 OpenGL 使用我们的屏幕坐标
学习·游戏引擎
李詹5 小时前
防护接入新纪元:DeepSeek攻防大脑如何重塑网络安全防线
网络·安全·web安全·游戏引擎·游戏程序
苦逼IT运维5 小时前
Git LFS 学习笔记:原理、配置、实践与心路历程
笔记·git·学习
心前阳光5 小时前
Unity-微信截图功能简单复刻-03绘制空心矩形
unity·微信·游戏引擎
DKPT5 小时前
重构之去除多余的if-else
java·开发语言·笔记·学习·面试
pumpkin845145 小时前
学习笔记十五——rust柯里化,看不懂 `fn add(x) -> impl Fn(y)` 的同学点进来!
笔记·学习·rust