我需要帮助我的地图编辑器,我一直坚持保存它。当我保存后,我在地图上放了一些草,它在地图文件中到处都是草。 这是变量:
mapMaximumX:X中地图的最大值(设置为500)
mapMaximumY:Y中地图的最大值(也设为500)
mapTiles [index]:这是一个带有类的列表,每个类都有ID(0 =空,1 =草,2 =水),X和Y
if (Keyboard.GetState().IsKeyDown(Keys.F1))
{
for(int y = 0; y < mapMaximumY; y++)
{
for (int x = 0; x < mapMaximumX; x++)
{
if (MapTiles[i3].X == x && MapTiles[i3].Y == y)
{
}
else
{
MapTiles.Add(new Class1(0, x * 32, y * 32));
}
if (i3 < MapTiles.Count)
{
i3++;
}
}
}
TextWriter file = new StreamWriter("map1.MAP");
for (int y = 0; y < mapMaximumY; y++)
{
for (int x = 0; x < mapMaximumX; x++)
{
file.Write(MapTiles[i2].ID + ", ");
}
file.Write(file.NewLine);
}
i2 = 0;
System.Windows.Forms.MessageBox.Show("Saved!");
file.Close();
}
完整代码在这里,如果你需要它:
感谢名单。
答案 0 :(得分:3)
file.Write(MapTiles[i2].ID + ", ");
i2永远不会在你的循环中发生变化,所以无论i2是什么,都将是用于编写输出的东西。
您需要在循环中使用X和Y来确定要写出的单元格。