让我们盘点一下游戏还差什么
游戏结束判定
难度不断上升
UI界面,计分,开始,继续,退出,重新开始等
游戏结束判定
只需要判定最顶部的一层方块元素值是不是2,如果是很显然就堆满了
在移动函数中调用
在事件图表中暂时也调用一下,后面再用UI调用
难度不断上升
我使用了一个对数函数来作为游戏难度的上升曲线,同时在游戏开始之初,和正版俄罗斯方块一样,不改变游戏难度,让玩家有一定的适应时间,你当然也可以自己改
UI界面
Widget并不会直接显示,只有你进行下面操作才会显示
界面就是自己发挥的时间了,我只是简单的搭建了一个非常粗糙的框架
下面是widget中的蓝图
我将菜单中的按钮都装进面板中的,所以我直接控制面板的显示就可以达到控制的效果,而控制面板我是创建了几个变量,通过直接设置变量,来设置显示与否的
获得引用是为了后面方便使用
我在Widget蓝图中调用的PlayerController来控制Ganmeover控件是否显示
按钮直接调用PlayerController中的移动和旋转操作,下降的不同是因为我修改了下降的方式,原来只能按一次下降一次,现在可以按一下,直接下降到底
从游戏开始当isdown为真的时候,不断循环下降,然后在重置方块的时候设置isdown为假停止下降
因为菜单和操作的两个面板是不能同时显示的,所以显示一个就要隐藏另一个
下面的IsPause也是我后面在PlayerController中增加的一个暂停变量,放在每次操作之前,当按下菜单的时候就设置IsPause为真,这样方块就无法下降直到再次激活菜单或继续游戏
重开游戏正如我最开始就准备好的,直接调用即可
退出游戏使用的命令Exit,还有很多的命令可以使用,具体看官方文档
最后,我发现只有一种颜色,于是我就在Build函数中根据和Reset函数中设置A一样的条件来设置方块颜色,再添加到Blocks数组中