Monogame Xamarin android抓回硬件密钥

时间:2014-07-05 10:53:22

标签: c# android input xamarin monogame

我试图抓住后面的按键(硬件)所以我可以阻止它存在于我的游戏中,但会显示游戏菜单。

我尝试在我的AndroidGameActivity中覆盖OnBackPressed,但在按下时它不会触发。我的游戏存在:(。

所以我深入挖掘并看到Game对象的Window成员可以使用SetOnKeyListener。 我现在在我的监听器类中有一个OnKey方法,它在按键时被触发。 这对按键有很好的反应,但它仍然会退出我的应用程序,因为它并没有真正覆盖它,它只是一个监听器。 它仍然存在于AndroidGameActivity OnKeyDown中并检查它的" Back"然后退出应用程序。

我看到[https://github.com/dineshkummarc/MonoGame-2.5.1.0-0/blob/master/MonoGame.Framework/Android/AndroidGameWindow.cs 已经有一个OnKeyDown覆盖。如果按下后退,您可以看到它退出应用程序。

那么在点击后面的硬件密钥时如何防止它退出? 我应该覆盖OnDestroy并检查游戏状态吗?

欢迎任何帮助。

1 个答案:

答案 0 :(得分:0)

我不认为“后退”按钮会自动退出游戏。仔细检查您是否在Game :: Update方法中手动退出。很多XNA教程都有这个代码,所以它可能会在没有你注意的情况下潜入。

寻找类似的东西:

protected override void Update(GameTime gameTime)
{
    // Allows the game to exit
    if (GamePad.GetState(PlayerIndex.One).Buttons.Back == 
        ButtonState.Pressed)
        this.Exit();