我正在C#
制作一款小游戏,我正在尝试将图片加载到array
,但它一直在说索引超出范围。
这是给我一个错误的部分:
Image[] Map = new Image[10];
Image map1 = Image.FromFile("_Maps_\\map1.png");
Map[1] = map1;
Image map2 = Image.FromFile("_Maps_\\map2.png");
Map[1] = map2;
Image map3 = Image.FromFile("_Maps_\\map3.png");
Map[1] = map3;
Image map4 = Image.FromFile("_Maps_\\map4.png");
Map[1] = map4;
Image map5 = Image.FromFile("_Maps_\\map5.png");
Map[1] = map5;
Image map6 = Image.FromFile("_Maps_\\map6.png");
Map[1] = map6;
Image map7 = Image.FromFile("_Maps_\\map7.png");
Map[1] = map7;
Image map8 = Image.FromFile("_Maps_\\map8.png");
Map[1] = map8;
Image map9 = Image.FromFile("_Maps_\\map9.png");
Map[1] = map9;
Image map10 = Image.FromFile("_Maps_\\map10.png");
Map[1] = map10;
我对C#
如果您需要更多代码,请询问
答案 0 :(得分:1)
使用LINQ可以轻松加载此图像,请参阅下文:
Image[] Map = Directory.GetFiles("_Maps_", "*.png")
.Select(file => Image.FromFile(file))
.ToArray();
使用这种方式你不会关心地图的名称,如果你添加一个新地图,它将从这段代码中获取。
您可以稍微简化此代码
Image[] Map = Directory.GetFiles("_Maps_", "*.png")
.Select(Image.FromFile)
.ToArray();