MonoGame Windows 8 - WriteableBitmap

时间:2012-08-29 16:05:56

标签: c# .net windows-8 monogame

如果您将以下代码放在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的方法吗? (我需要用它来渲染一些活动的瓷砖)

1 个答案:

答案 0 :(得分:1)

如果您正在使用Game类,那么您创建的应用程序默认情况下不支持XAML。

目前在MonoGame应用程序中支持XAML的最佳方法是使用此线程中概述的Siverlight风格的XNA游戏......

http://monogame.codeplex.com/discussions/359544