如果您将以下代码放在 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 看起来不像在后台线程或任何东西上运行游戏循环。它使用同步循环。
WriteableBitmap
在 MonoGame中使用的任何想法?(我需要用它来渲染一些活瓷砖)