[Unity3D]再次点击以退出程序
本文介绍为Android应用编写点击返回按键时的"再次点击以退出程序"的方法。
+BIT祝威+悄悄在此留下版了个权的信息说:
下面是一个测试用户双击手机屏幕速度的app,拿来展示"Click again to quit app"这个功能是很清晰的。这个app的源码包在(),APK在()。欢迎下载试用。
+BIT祝威+悄悄在此留下版了个权的信息说:
下面详述制作步骤。你也可以直接下载源码包,复制里面的TipToQuitApp对象,即粘即用。
创建uGUI
创建一个Text对象。
设置其各项属性如下图所示。
这里有个脚本ClickTwiceToQuitApp.cs,其代码如下。
1 using UnityEngine; 2 using System.Collections; 3 4 public class ClickTwiceToQuitApp : MonoBehaviour { 5 6 public UnityEngine.UI.Text tipTextBox; 7 public string tip = "Click again to quit app"; 8 public float fadingSpeed = 1; 9 private bool fading;10 private float startFadingTime;11 private Color originalColor;12 private Color transparentColor;13 14 // Use this for initialization15 void Start()16 {17 originalColor = tipTextBox.color;18 transparentColor = originalColor;19 transparentColor.a = 0;20 tipTextBox.text = tip;21 tipTextBox.color = transparentColor;22 }23 24 // Update is called once per frame25 void Update()26 {27 if (Input.GetKeyDown(KeyCode.Escape))28 {29 if (startFadingTime == 0)30 {31 tipTextBox.color = originalColor;32 startFadingTime = Time.time;33 fading = true;34 }35 else36 {37 Application.Quit();38 }39 }40 41 if (fading)42 {43 tipTextBox.color = Color.Lerp(originalColor, transparentColor, (Time.time - startFadingTime) * fadingSpeed);//颜色以线性速度透明掉44 45 if (tipTextBox.color.a < 2.0 / 255)46 {47 tipTextBox.color = transparentColor;48 startFadingTime = 0;49 fading = false;50 }51 }52 }53 }
检测返回键
+BIT祝威+悄悄在此留下版了个权的信息说:
上面代码中的 Input.GetKeyDown(KeyCode.Escape); 既能够检测PC键盘的Esc键,又能够检测Android手机的返回按键。