Unity安卓版本,响应手机系统返回键

需求:

Unity安卓版本,响应手机系统返回键_第1张图片

在手机上调研了一下其他游戏:《超级幻影猫2》《关东煮人情故事2》,发现确实如此。

具体需求如下:(以下【返回】代指手机系统的返回导航按钮)

  • 在游戏的主菜单界面,点【返回】,弹出【退出整个游戏的对话框】。此时再点【返回】 ,【退出整个游戏的对话框】消失。点击对话框上的确定退出则退出游戏。
  • 在游戏的其他菜单界面,点【返回】,关闭本菜单,返回上一级菜单。
  • 在游戏的进行过程中,点【返回】,弹出暂停界面,再点【返回】

Unity安卓版本,响应手机系统返回键_第2张图片

解决办法 

我使用的是Unity2018.3.6f1版本,自带的Keycode.Escape就可以响应系统返回键了。代码如下:

using DG.Tweening;
using System;
using UnityEngine.UI;
public class CollectUIManager : MonoBehaviour {
    
    public enum UIState
    {
        Main,
        Pause
    };//设置多种不同的返回状态
    [HideInInspector] public UIState state = UIState.Main;


    private void Update()
    {
        if (GameManager._instance.isWin || GameManager._instance.isOver)
        {
            pauseButton.gameObject.SetActive(false);
        }
        else
        {
            ListenESC();
        }
        
    }
   void ListenESC()
    {

        if (Input.GetKeyUp(KeyCode.Escape))
        {
            switch (state)
            {
                 case UIState.Main:
                     Esc_Main();
                     break;
                 case UIState.Pause:
                     Esc_Pause();
                     break;                
             }
        }                
    }
    void Esc_Main()
    {
        Pause();
        state = UIState.Pause;
    }
    void Esc_Pause()
    {
        Resume();
        state = UIState.Main;
    }

}

 

你可能感兴趣的:(软件发行)