【问题标题】:How do I create Tetris Blocks in XNA with C#?如何使用 C# 在 XNA 中创建俄罗斯方块块?
【发布时间】:2010-03-16 18:20:13
【问题描述】:

我正在使用 XNA 在 C# 中制作俄罗斯方块克隆,但我不确定如何实际实现这些块。

我不认为将形状制作成图像会起作用(因为在形成线条时会移除部分),所以我有块来组成像This 这样的块。

不幸的是,我不知道如何实际定义块来制作碎片,也不知道如何操纵它们以使它们旋转等等。

编辑:我也需要学习如何制作俄罗斯方块网格的帮助。

【问题讨论】:

    标签: c# xna tetris


    【解决方案1】:

    我之前没有制作过俄罗斯方块,但经过一番思考,我相信我会使用一个简单的矩阵来制作我的作品。例如,您的整个游戏板将是一个大矩阵。该矩阵的一个子集,比如它的 4x4 块,将是一个游戏块。该 4x4 块的哪些部分将被填充将取决于您要创建的特定部分。矩阵的每个部分都可以有一个布尔标志,指示它是否已填充。这是一个非常简单的观点,但我认为这是一个可行的解决方案。

    【讨论】:

      【解决方案2】:

      使用布尔矩阵来模拟屏幕的状态。每一块本身就是另一个较小的布尔矩阵。

      旋转一块就像玩一点坐标一样简单(我把这个留给你)。

      关于如何渲染,只需为矩阵ored 中的每个真值绘制一块平铺,当前下降的块移动和旋转。

      【讨论】:

        【解决方案3】:

        对于积木,我强烈建议使用 3D。您仍然可以通过锁定相机等使游戏看起来像 2D,但您将从矢量图形中受益匪浅。您的块将是简单的立方体(平坦或有一定深度),您可以在屏幕上旋转和移动。

        对于网格,请查看 @fortran 和 @aaron 的答案,布尔矩阵可以解决问题。

        【讨论】:

          【解决方案4】:

          也许这个指向Coding4Fun 的链接会有所帮助。它是德文的,但你应该能够获得源代码并看看这里的问题是如何解决的。

          为了确定,这里是direct download link

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-10-27
            • 1970-01-01
            • 1970-01-01
            • 2023-03-22
            • 1970-01-01
            • 2013-03-17
            相关资源
            最近更新 更多