200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 35_ue4进阶末日生存游戏开发[背包系统准备]

35_ue4进阶末日生存游戏开发[背包系统准备]

时间:2023-06-27 00:42:10

相关推荐

35_ue4进阶末日生存游戏开发[背包系统准备]

创建结构体,命名为ItemSlot

添加四个变量分别是Type、Name、Icon、Count

类型分别是itembase类型的引用 ,text,texture 2d的对象引用和整数类型。

创建SurvivalPlayState蓝图

打开项目设置,将其设置为默认的playstate

为背包创建一个类,类型是object,命名为bag

增加一个变量,整数型,命名capacity,含义为背包的最大库存(重量),初始值为100

增加一个变量,整数型,命名Load,含义为目前的库存

增加一个数组,类型是ItemSlot,命名为Content

在我们创建的palystate的蓝图中,创建bag蓝图的引用。

我们在itembase里面,添加Weight变量,int类型,表示重量

为每个itembase的子类设置重量

在背包蓝图里添加函数TestCapacity,用来检查背包是否还能装得下

添加一个参数 ,类型为我们刚创建的结构体

把该参数break一下。

获取item类型默认的重量

数量*默认重量=总重量

比较重量

添加输出值

在添加一个输出值

赋值

添加TryAddItem函数

设置输入输出值

首先判断是否可以添加

不可以的话直接返回false,可以的话直接做下一个逻辑。

可以的话,就通过便利,查看背包里是否有该类物品,类型相等,代表已经存在。

存在数量就+1

不存在就新增一个新item

在这个里面初始化bag变量

​​​​​​

现在我们修改一下之前写过的代码,把pickable的ui控制蓝图绑定的事件修改一下。

为了方便起见,我们再创建一个结构体,命名为ItemInfo,里面存放ItemBase的三个属性。

我们在ItemBase蓝图里面添加ItemInfo结构体类型的变量

之前三个变量就可以删了

进入小白人蓝图,添加SurvivalPlayState类型的变量,在开始事件中进行初始化

构建pickup事件

修改pickup的参数类型

拾取逻辑

在itembase中,修改接口事件

此时预置物的按钮,就不需要这俩了

测试成功

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。