zoukankan      html  css  js  c++  java
  • Unity制作的 安卓和Ios程序如何退出

    Android:

    效果:连按两次手机返回键退出。

    将下面脚本挂到场景中一个命名为GameQuit的空物体。

    using UnityEngine;
    using System.Collections;
    public class GameQuit : MonoBehaviour {
    private int mPressTimes = 0;
    // Use this for initialization
    void Start () {
    //Ensure that there is only one gameQuit in the Scene,即使加载了下个场景Scene
    GameObject [] gameQuits = GameObject.FindGameObjectsWithTag ("GameQuit");
    if (gameQuits.Length == 2) {
    Destroy (this.gameObject);
    }
    DontDestroyOnLoad (this.gameObject);
    }

    // Update is called once per frame
    void Update () {
    if (Input.GetKeyDown (KeyCode.Escape)) {//KeyCode.Escape表示键盘ESC,手机的返回键
    mPressTimes++;
    StartCoroutine ("ResetMPressTimes", 1.0f);//若过了1秒都没有按第2次则重置mPressTimes
    if (mPressTimes == 2) {
    Application.Quit();
    }
    }
    }

    IEnumerator ResetMPressTimes (float sec) {
    yield return new WaitForSeconds(sec);
    mPressTimes = 0;
    }
    }

    ios

    iOS API并没有提供通常的那种终止应用程序的接口。

    在iOS中,用户一般是通过按Home键来关闭应用程序的。如果你的应用程序出现API没能提供你所预期的方法的情况,推荐的做法是给用户弹出一个警告框来说明问题的本质和他可能需要采取的措施—打开WiFi启动定位服务等等。允许用户自行决定终止应用程序。

    警告:不要去调用exit方法。应用程序调用exit方法的话,用户看到的是程序异常终止,而不是通常的那种程序退出并自动返回到手机主屏界面。

    另外,如果调用exit方法的话,数据可能不会被存储,因为-applicationWillTerminate:和类似的UIApplicationDelegate方法们将不会被调用。

    如果在开发和测试中需要终止你的应用程序的话,推荐你使用abort方法或assert宏指令。

    在Unity中不能Application.Quit()对于Android程序有效,对于iOS程序无效;

  • 相关阅读:
    spring boot 2.1学习笔记【五】SpringBootTest单元测试及日志
    Java网络编程-UDP
    Java网络编程-TCP
    String的特性
    内存池的使用
    软件定时器的使用
    邮箱
    事件集
    线程优先级翻转
    临界区,互斥量与信号量
  • 原文地址:https://www.cnblogs.com/FingerCaster/p/7591677.html
Copyright © 2011-2022 走看看