返回首页DA系统C#IDE文件同步服务屏保 今天是: 2026-05-05    "立夏"  夏季的第一个节气,表示盛夏时节的正式开始

搜索
热搜: linux 技术
Hi~登录注册
查看: 1769|回复: 0

[转载] 【转载】Unity安卓版本,响应手机系统返回键

[复制链接]
发表于 2023-4-26 20:51:31 | 显示全部楼层 |阅读模式
Unity安卓版本,响应手机系统返回键




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

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




解决办法
我使用的是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;
    }

}


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为修仙之旅的少年~

x
游客
回复
*滑块验证:

DA论坛飞机票来了~
快速回复 返回顶部 返回列表