Unity 3D 俄罗斯方块.docx

Unity 3D 俄罗斯方块.docx

文档介绍:Unity 3D俄罗斯方块学习Unity有一段时间了。从一开始的懵懂到现在,我很开心,但是还处于初级阶段,很多东西还等着自己去发现和学习。最近,我做了一个 3D 俄罗斯方块小游戏作为训练练习。我花了两个多星期。我觉得花了太多时间。中间一直在修改实现方法,但确实学到了很多。它可能对某些人有用。话说,俄罗斯方块根本算不了什么,但对于初学者来说,练手还是可以学到很多东西的。好了,废话不多说,说说我是怎么做到的,先贴上最终的效果。图——来自Dog Plane Learning Network 其实对于3D俄罗斯方块,我觉得可以通过多种方式实现。一开始我尝试使用Unity提供的碰撞机制来制作这个游戏,但是问题接踵而至开发学习,得到了解决。一个接一个出现,最后只能在网上找教程了。有网友在网上已经意识到了。有一种方法可以通过直接使用 GUI 并使用按钮作为正方形来实现统一。虽然也能拍出不错的效果,但我觉得这不是3D。另外,我还找到了一段代码,实现了真正的3D俄罗斯方块,不过是用JS写的,我试着看代码,然后用C#自己写,看代码中的注释,应该是国外的。看了它的代码,我真的学到了很多东西。我想通过真实的碰撞来完成这个游戏,但是问题很多,但是网上的这段代码提出了一个非常聪明的解决方案。 , 使用两个布尔型数组分别存储固定块和下降块。通过判断下落块下一个位置对应的坐标的布尔值的真假,如果为真则停止下落并固定位置。

另外,可以将边界对应的值设置为true,这样方块碰到边界就不能继续移动了。检测一整排正方形的消除也相当方便,可以直接对布尔数组进行操作。这种想法让我意识到我真的需要改进。好吧,让我们开始吧。首先,您需要一个立方体模型。它的边界需要处理,连接多个连接时可以显示关节。我自己用 Maya 做了一个,非常简单。然后将模型的 FBX 文件导入到您的项目中。然后新建一个场景,在场景中创建一个边界。如渲染图所示,可以使用unity自带的Cube。您可以更改一些参数以产生图片中的效果。当然,您也可以自己制作边界对象。将左边框的 x 坐标设置为 3,将右边框的 x 坐标设置为 14。这不是硬性规定。这只是为了让我更容易编写代码。哦,因为正方形的最大尺寸是4,所以我把两边都留了下来。有4个位置,中间10个位置是可以放置方块的位置,底部边框放置在0位置。创建一个名为Manager的空对象unity俄罗斯方块源码,并为其创建绑定脚本Manager.cs,然后创建与正方形一一对应的空对象,并分别命名。请注意unity俄罗斯方块源码,我之前导入的立方体只是正方形的组成部分。不同形状的积木需要四个立方体拼接在一起。普通俄罗斯方块游戏中有 7 种方块。将这七个空对象对象创建为 Prefab,一一命名,然后为块创建绑定脚本。这里,我只需要一个脚本文件,即7个block都绑定同一个脚本。

我试着做了七种不同的模型,结果很麻烦。由于模型是一个整体,因此消除部分是一个问题。然后我要写七个脚本对应不同的块。事实上,有很多事情是Again,这只是浪费时间和资源。然后我在网上的代码中发现了一个巧妙的方法。在绑定脚本中,设置一个只有0和1值的公共字符串数组,显示正方形的形状,比如一个直的正方形,即4个立方体以直线连接在一起,这就是我们所需要的