C# 在Match3游戏中交换瓷砖

C# 在Match3游戏中交换瓷砖,c#,.net,xna,xna-4.0,C#,.net,Xna,Xna 4.0,我是XNA编程的新手,但我有一些C#方面的技能。现在我正试图用VisualStudio2010在XNA4.0中制作一个match3游戏,我遇到了麻烦 我创建了一个名为Tile的类,它包含关于Tile的信息,比如:Texture2D、Vector2位置、一些bool、int等等。在另一个类中,我有这个平铺对象的2D数组(8x8)(总共64个)。当我运行游戏,我可以看到网格的纹理,因为他们应该是。我可以通过鼠标点击创建一个选择瓷砖的方法,但是我不能交换这两个瓷砖。以下是我的交换方法: public

我是XNA编程的新手,但我有一些C#方面的技能。现在我正试图用VisualStudio2010在XNA4.0中制作一个match3游戏,我遇到了麻烦

我创建了一个名为Tile的类,它包含关于Tile的信息,比如:Texture2D、Vector2位置、一些bool、int等等。在另一个类中,我有这个平铺对象的2D数组(8x8)(总共64个)。当我运行游戏,我可以看到网格的纹理,因为他们应该是。我可以通过鼠标点击创建一个选择瓷砖的方法,但是我不能交换这两个瓷砖。以下是我的交换方法:

public void swapPieces(int x1, int y1, int x2, int y2)
{
    Tile temp;

    temp = Tiles[x1, y1];
    Tiles[x1, y1] = Tiles[x2, y2];
    Tiles[x2, y2] = temp;
}

其中,
x1
y1
x2
y2
是两个选定分幅数组中的坐标,
tiles[,]
是我的二维数组。当我追踪游戏时,我看到瓷砖被交换了,但我看不到任何变化。我如何处理这种情况?谢谢。

您的交换代码看起来很正确。。Atm您有两个独立的系统用于瓷砖位置。定位向量和数组…要么你需要交换向量和数组中的位置,要么扔掉一个定位系统