2

我正在开发的游戏从 Content 子项目的文件夹中加载所有纹理,并将它们存储在Texture2D[].

由于我无法弄清楚的原因,XNA 的 ContentManager(内容)似乎永远不会卸载这些纹理。所以即使我从文件夹中删除它们,它们仍然存储在管道中。

这是我的内容文件夹:

在此处输入图像描述

这是调试中 ContentManager 的加载资产。

在此处输入图像描述

正如您从红色元素轮廓中看到的那样,这些纹理已从 Content 文件夹中删除,但它们仍保留在 ContentManager 缓存中。这意味着当我从“TileSets”文件夹中加载所有纹理时,本应删除的纹理也会被加载。

我已经尝试过Content.Dispose()并且Content.Unload()主要UnloadContent()但那些并不能解决问题。还要确保从我的外部文件夹资源管理器中的文件夹中删除了纹理,甚至检查了 ContentPipeline.xml;那里没有引用纹理。

这是怎么回事?我错过了什么吗?

4

1 回答 1

3

显然我错过了存储在 .xnb 文件中的 .xnb 文件~\bin\x86\Debug\Content

从那里删除文件后,一切都按预期工作。

于 2012-12-23T11:15:52.460 回答