单人游戏Xamarin android抓回硬件键

本文关键字:硬件 android 游戏 Xamarin 单人 | 更新日期: 2023-09-27 18:11:45

我试图抓住回键(硬件),所以我可以防止它存在我的游戏,但显示游戏菜单。

我试图重写OnBackPressed在我的AndroidGameActivity,但它不触发时按回。我的游戏存在:(.

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

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

那么我怎么能防止它退出时,点击后硬件键?我应该重写OnDestroy并检查游戏属性吗?

欢迎任何帮助

单人游戏Xamarin android抓回硬件键

我不认为后退按钮会自动退出游戏。再次确认你没有手动退出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();