【问题标题】:SharpDX Content.Load<Texture2D>SharpDX Content.Load<Texture2D>
【发布时间】:2013-11-03 19:36:30
【问题描述】:

我刚刚将 SharpDX 2.5.0 安装到 Visual Studio 中,现在出现了一个非常奇怪和意外的错误:

我想从 Atari 的“Pong”开始,所以我用一个球画了一个 .bmp 文件,用

将它转换成一个 .dds 文件

Easy2Convert BMP 到 DDS

将其添加到内容中,并尝试加载它。所以我添加了这一行

ballTexture = Content.Load("Ball");

但它失败并显示消息 AssetNotFoundException,与

相同

ballTexture = Content.Load("Ball.dds");

几乎找不到教程,我也没有找到有用的答案... 这就是这张图片的完整路径:

H:\Programmieren\Pong\Pong\Content\Ball.dds

期待您的回答,请原谅我的知识,我习惯了 XNA,而且它更容易......

【问题讨论】:

  • 可能是你必须指定文件所在的文件夹吗?例如:Content.Load("Content\Ball.dds"); ?如果这不起作用,您也可以尝试将完整路径添加到字符串中。

标签: directx-11 texture2d sharpdx dds-format


【解决方案1】:

在 SharpDX.Toolkit 中,内容是从相对于您的程序所在文件夹的文件夹中加载的。此外,您应该使用构建操作 ToolkitTexture 标记纹理(在 Visual Studio 中打开文件属性)。

构建后,文件应该被复制到这样的路径:

H:\Programmieren\Pong\Pong\bin\Debug\Content\Ball.tkb`

(扩展名可能不同 - 我不记得确切)。

之后,您可以通过调用ballTexture = Content.Load(@"Content\Ball");来加载资产

或者,您可以在初始化期间设置内容管理器的根路径:

Content.RootDirectory = "Content";
...
//and load the textures with
ballTexture = Content.Load(@"Ball");

所有这些都在 SharpDX Toolkit 示例中得到了展示(位于 Samples\SharpDXToolkitSamples.sln)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多