如果您将以下代码放在MonoGame应用程序的游戏循环(更新或绘图)中(可以只是默认的项目模板):
new Windows.UI.Xaml.Media.Imaging.WriteableBitmap(150, 150);
它抛出了一个跨线程错误......
The application called an interface that was marshalled for a different thread. (Exception from HRESULT: 0x8001010E (RPC_E_WRONG_THREAD))
然后我尝试了这个:
var dispatcher = Windows.UI.Core.CoreWindow.GetForCurrentThread().Dispatcher;
dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, delegate
{
new Windows.UI.Xaml.Media.Imaging.WriteableBitmap(150, 150);
});
同样的错误。
在封面下看,它看起来并不像MonoGame在后台线程或任何东西上运行游戏循环。它使用同步循环。
有关在MonoGame中使用WriteableBitmap
的方法吗? (我需要用它来渲染一些活动的瓷砖)
答案 0 :(得分:1)
如果您正在使用Game类,那么您创建的应用程序默认情况下不支持XAML。
目前在MonoGame应用程序中支持XAML的最佳方法是使用此线程中概述的Siverlight风格的XNA游戏......