3

次のコードを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がバックグラウンドスレッドなどでゲームループを実行しているようには見えません。同期ループを使用します。

WriteableBitmapMonoGameで使用する方法のアイデアはありますか?(ライブタイルをレンダリングするために使用する必要があります)

4

1 に答える 1

1

Game クラスを使用している場合、既定で XAML をサポートしないアプリケーションを作成します。

現在、MonoGame アプリで XAML をサポートする最善の方法は、このスレッドで概説されているように、Siverlight スタイルの XNA ゲームを使用することです...

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

于 2012-08-29T16:23:12.847 に答える