0

我正在使用 C++ 编程,并且正在使用 DirectXTK 附带的 SpriteFont 工具。我在我的类中声明了一个变量:

std::unique_ptr<DirectX::SpriteFont> m_SpriteFont;

我这样初始化它:

m_SpriteFont = std::unique_ptr<SpriteFont>(new SpriteFont(m_d3dDevice.Get(), L"Assets\\TNR.spritefont"));

它给出了一个未处理的异常。通过程序调试,好像是读取文件有问题。该文件是使用工具包附带的 MakeSpriteFont.exe 生成的。字体是 Times New Roman,大小 12。我已经使用 Visual Studio 解决方案资源管理器将此文件添加到 assets 文件夹中,并且文件本身位于正确的文件夹中。

这里有什么问题?我错过了什么吗?

任何帮助,将不胜感激。

4

1 回答 1

1

问题解决了。真的很简单,但我想把它贴在这里提醒大家不要犯我犯的愚蠢错误。

当您使用 Visual Studio 中的解决方案资源管理器添加现有项目时,检查它的属性并确保它参与构建(即项目类型标志未设置为“不参与构建”)。我将项目类型设置为“字体”并且它有效。

谢谢大家的帮助。

于 2013-02-18T05:06:11.087 回答