我在UE4上做了一个清单系统,但是为了做清单本身,我创建了一个组件,它代表了玩家的清单和可抢劫车辆的清单。
问题是,当我从车辆的库存中取出一个物品时,我将其从库存中删除,并在播放器库存中创建一个插槽来存储该物品。但是插槽刷新是在HUD中进行的,所以我不知道如何复制它。我是否应该在BP_character中重新编码整个部分,而不是在平显中?
发布于 2021-03-08 02:10:46
我不是什么专业人士,我在你正在从事的同一领域有自己的问题,但我认为你确实希望你的库存作为你角色上的一个组件(在组件蓝图中有一个数组和库存逻辑)。然后,每当玩家打开适当的HUD来查看他们的库存时,它就会根据库存组件数组中的内容加载HUD。对阵列的所有更改都应该由服务器显式地完成(通过确保它已被复制,并在对阵列进行更新的任何地方执行权限检查。
发布于 2021-03-12 05:59:21
你在正确的轨道上,因为HUD不是存放库存的地方。角色是一个更好的位置,但最好的保存位置是在GameInstance中。
GameInstance是一个持久化类,在游戏中的任何地方都可以使用。这使得它对你的库存之外的许多东西都非常有用。
在这里保存库存意味着你可以在任何你喜欢的地方使用代码将物品移入或移出玩家的库存。例如,如果NPC想要给玩家一个物品,你可以用NPC类的代码来做,因为NPC类可以看到玩家的库存。
同样,如果清单在GameInstance上,HUD也可以看到它。
https://stackoverflow.com/questions/66431181
复制相似问题