-1

Silverlight/XNA ゲームに取り組んでいます。このような構造を持つ:

  • 私のGamePlayクラスは InGamePage から継承されています
  • InGamePageはPhoneApplicationPageから継承されます
  • InGamePage には、( UIElementRenderer を使用して) SL コントロールをレンダリングするための OnLayoutUpdated メソッドがあります。

これは、SL/XNAコード サンプルによるものです。

gamepage.xaml でテキストブロックを作成することを決定するまで、すべてが正常に機能しています。その textBlock に、いくつかの静的なゲーム変数 (ヒーローがカバーする距離など) を表示したいと考えています。

さて、この行をどこに書くべきですか:

debugTextBlock.Text = GameData.data.distanceCovered; 

テキストブロックに現在の値が表示されるようにします。(LayoutUpdate をフックしようとしましたが、「レイアウト サイクルが検出されました。レイアウトを完了できませんでした」という Application_UnhandledException がスローされました。)

ヒント/リンクは大歓迎です。

4

1 に答える 1

0

Dispatcher を使用するだけでうまくいくと思います:

Dispatcher.BeginInvoke(()=>
{
debugTextBlock.Text = GameData.data.distanceCovered; 
});
于 2012-07-03T12:44:57.647 に答える