[Unity3D]再次点击以退出程序
本文介绍为Android应用编写点击返回按键时的"再次点击以退出程序"的方法。
+BIT祝威+悄悄在此留下版了个权的信息说:
下面是一个测试用户双击手机屏幕速度的app,拿来展示"Click again to quit app"这个功能是很清晰的。这个app的源码包在(http://pan.baidu.com/s/1dDIobN7),APK在(http://pan.baidu.com/s/1hq1mV0S)。欢迎下载试用。
+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 initialization 15 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 frame 25 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 else 36 { 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手机的返回按键。
时间: 2024-10-24 15:51:50