![](/img/trans.png)
[英]How to get mouse position when using XamlBehaviorsWpf and MVVM (Formerly Interactivity)
[英]Turn off mouse interactivity when not on applicaiton
可以說我正在運行C#程序,屏幕上有一個按鈕,如果將鼠標放在該按鈕上,它將把游戲切換到一個新頁面。 現在,我在項目前面放了另一個窗口,假設是Google Chrome,然后我正在網上搜索並單擊內容,因為我正在運行的項目仍在與鼠標交互,甚至可以按下按鈕。如果我看不到按鈕。 如何關閉此互動?
通過在Game類的實現中使用IsActive(默認情況下稱為Game1),可以避免在游戲未聚焦時接收輸入。
protected override void Update(GameTime gameTime)
{
base.Update(gameTime);
if (!IsActive)
{
return;
}
// ... do regualr update.
}
http://msdn.microsoft.com/zh-CN/library/microsoft.xna.framework.game.isactive.aspx
或者,如果您已經擁有某些游戲狀態管理系統,則可以覆蓋游戲中的OnDeactived方法。 當游戲失去焦點時,將調用此函數。
protected override void OnDeactivated(object sender, EventArgs args)
{
base.OnDeactivated(sender, args);
// If we are in a state which it makes sense to pause the game, then do it now.
if (GameObjectManager.pInstance.pCurUpdatePass == BehaviourDefinition.Passes.GAME_PLAY)
{
GameObjectManager.pInstance.pCurUpdatePass = BehaviourDefinition.Passes.GAME_PLAY_PAUSED;
}
}
http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.game.ondeactivated.aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.