(蓝图)虚幻4重制俄罗斯方块(三)宏的使用与数据表格存储方块

版权声明:原创作品,请不要直接复制粘贴发布 https://blog.csdn.net/qq_30919603/article/details/83311689

创建

在上一篇文章中,我们使用了一些像这样嵌套循环遍历二维数组,可是看起来很复杂,每次也要复杂粘贴一大堆,下一步我们先进行一下优化,自定义一个和这个功能相同但比较简单的宏(宏其实就是把很多操作合为一个)

在宏这里定义一个新的TraveA(遍历A数组),将上面那两个节点拷贝过来,直接将输入节点和输出节点分别拖拽到输入值和输出值上( 注意连线不要连错)

 

可以看到和函数不同的,宏函数里面有Exec节点,这个和Foreachloop上的Exec类型是一样的,如果这个函数你在一般的函数里面创建,是不会遍历节点后面的东西的。以后为了方便记为[y][x],比如[3][2],item=0,指的就是第四行第三列的元素值为0(数组第一个元素为0)。输出节点中的xfinish指的是一行遍历完执行,yfinish指的是整个遍历完成后执行

使用

回到BuildMap函数中,我们把刚创建的宏用上,有了宏以后,不仅更简洁,也会省很多事

 回到ReStart函数中进行同样的操作,注意刚才的函数功能是完全遍历A,不要想着什么地方都搞一个

这就是宏的创建和使用,基本上和函数一样,更多的是可以使用Exec节点,代码相当于复制使用,但是不要用宏完全代替函数(具体的自己百度)

数据表格

创建

我们需要用数据表格储存方块的形状,但是在创建数据表格之前任然需要一个结构体,和之前说的一样是个4*4的数组,那么和上一篇文章的二维数组A类似,不同的是我们不在蓝图中设置它,在外面就直接定义好。

两个结构体,_X表示行,_Array存储行表示整个4*4数组

创建数据表格选择结构体为刚才创建的Array,命名

打开DT_B添加一行,行名称设为1,在行值中可以看到刚才创建的两个结构体,X表示行,所以我们先在第4行(序号为3)把4列都设置为1,其它都为0,这样就表示一个横着的长条,由于现在还没有切换形状的功能,所以先暂时添加一行即可

 使用

回到PlayerController蓝图中,创建一个GetBbyName函数,作用是通过行名称和index来获得item和X数组

 应该不用解释了吧,和前面完全一个道理,最好把这个纯虚函数√打上,这种获得类型或者不需要执行的,都可以弄成纯虚函数

数据表格可以快速的储存静态的数据,比如装备技能属性之类的东西,可以通过导入表格直接创建,具体的可以去官网看看,我这里就到这里吧

猜你喜欢

转载自blog.csdn.net/qq_30919603/article/details/83311689