我是这里的新手和XNA编程,但我在C#中有一些技巧。现在我正在尝试使用Visual Studio 2010在XNA 4.0中制作一个match3游戏,我遇到了麻烦。
我创建了一个名为Tile的类,它有关于tile的信息,如:Texture2D,Vector2位置,一些bool,int等。在另一个类中,我有这个tile对象的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[,]
是我的二维数组。当我追踪游戏时,我看到瓷砖被交换,但视觉上看不到任何变化。我该如何应对这种情况?感谢。
答案 0 :(得分:1)
您的交换代码看起来正确.. Atm您有两个独立的系统用于平铺位置。定位向量和数组......要么你需要交换向量和数组中的位置,要么抛弃其中一个位置系统。