首先是一些背景。我是一个相对较新的C#编程,并通过几个教程创建游戏来学习它。我在Win8.1上运行VS2015社区。我正在关注最初编写为在XNA下运行的游戏开发教程。我正处于使用Windows Forms创建关卡编辑器的地步。到目前为止,代码正在工作,因为级别编辑器表单显示没有问题。我遇到问题的下一步是将spritesheet加载到编辑器中,以便创建/修改级别。以下是加载spritesheet的方法:
private void LoadImageList()
{
string filepath = Application.StartupPath +
@"\Content\PlatformTiles";
Bitmap tileSheet = new Bitmap(filepath);
int tilecount = 0;
for (int y = 0; y < tileSheet.Height / TileMap.TileHeight; y++)
{
for (int x = 0; x < tileSheet.Width / TileMap.TileWidth; x++)
{
Bitmap newBitmap = tileSheet.Clone(new
System.Drawing.Rectangle(
x * TileMap.TileWidth,
y * TileMap.TileHeight,
TileMap.TileWidth,
TileMap.TileHeight),
System.Drawing.Imaging.PixelFormat.DontCare);
imgListTiles.Images.Add(newBitmap);
string itemName = "";
if (tilecount == 0)
{
itemName = "Empty";
}
if (tilecount == 1)
{
itemName = "White";
}
listTiles.Items.Add(new
ListViewItem(itemName, tilecount++));
}
}
}
private void MapEditor_Load(object sender, EventArgs e)
{
LoadImageList();
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
game.Exit();
Application.Exit();
}
}
}
spritesheet是一个名为PlatformTiles的.png文件,位于项目的Content文件夹中。该文件是使用Monogame的内容管理器加载的。当我构建项目时,Debug停在&#34; filepath&#34;的行。变量被分配给Bitmap。我收到以下屏幕截图中显示的错误消息:
我已尽可能多地研究Google,MSDN,Monogame和类似网站。虽然程序员有其他类似的实例收到消息,但他们并没有像我一样处理事情。所以我发帖是为了获得有关我可以采取哪些措施来解决问题的建议。如果有任何问题,请告诉我。谢谢。
答案 0 :(得分:1)
当你传递文件名
时,你也需要提供扩展名string filepath = Application.StartupPath +
@"\Content\PlatformTiles.png";