[Unity3D]再次点击以退出程序

[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手机的返回按键。

posted @ 2015-03-02 14:20  BIT祝威  阅读(9338)  评论(0编辑  收藏  举报