将SpriteBatch与Direct3D和XAML一起使用

时间:2013-02-18 09:42:02

标签: c++ xaml directx spritebatch

我创建了一个在Windows Phone 8上运行的项目,该项目使用Windows Phone SDK提供的模板Direct3D和XAML。我还合并了DirectXTK并在CubeRenderer.h中声明了std::unique_ptr<DirectX::SpriteBatch> m_SB;

当我尝试在CreateDeviceResources函数中分配它时:

m_SB.reset(new SpriteBatch(m_d3dContext.Get()));

它给出了错误:未知模块中出现未处理的“System.AccessViolationException”类型异常。

我不知道为什么会这样。如果我使用Direct3D(Native)模板创建项目,这非常有效。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

您必须将代码放在CreateWindowSizeDependentResources函数中,然后才能正常工作。

Source