2013-10-06 25 views
2

Heey,Monogame XAML重置CoreWindow?

我遇到了問題。我正在完成爲完成比賽而必須做的所有最後測試,但現在我遇到了一個問題。每當我初始化遊戲的同時以縱向舉行我的遊戲,遊戲會交換到風景,但Window.Current.CoreWindow不會更新。所以Xaml模板會根據縱向設置而不是橫向設置創建一個窗口。如何在整個遊戲初始化之前更改CoreWindow或更新它?

經過一番研究,我嘗試用遊戲ARMED!重現它,我知道它使用了Xaml模板,甚至在那裏我發現了這個問題,當我用肖像打開窗口時,窗口不會更新,與破損的界面/遊戲。

在此先感謝。

回答

0

CoreWindow不會自己刷新。它只會刷新你的Update()。所以如果你想在你敲擊Initializing部分之前處理對CoreWindow的更改,你需要自己處理它們。

_coreWindow = Window.Current.CoreWindow; 

// Create the game. 
_game = XamlGame<Main>.Create("", _coreWindow, this); 

_coreWindow.Activate(); 
_coreWindow.Dispatcher.ProcessEvents(CoreProcessEventsOption.ProcessAllIfPresent); 

在這裏你看到我用當前的CoreWindow創建了我的遊戲。在我的遊戲構造函數完成後,我手動檢查並處理可能在同一時間發生的任何CoreWindow更改(主要是方向更改)並對它們進行處理,以便在我的遊戲初始化時它將以適當的全景分辨率運行。

它可能不是最乾淨的解決方案,但它在我的情況下完成了這項工作。