本文介绍为
android
应用编写点击返回按键时的"再次点击以退出程序"的方法。
下面是一个测试用户双击手机屏幕速度的app,拿来展示"Click again to quit app"这个功能是很清晰的。这个app的源码包在( http://pan.baidu.com/s/1dDIobN7 ),APK在( http://pan.baidu.com/s/1hq1mV0S )。欢迎下载试用。
下面详述制作步骤。你也可以直接下载源码包,复制里面的 TipToQuitApp 对象,即粘即用。
创建uGUI
创建一个 Text 对象。
设置其各项
属性
如下图所示。
这里有个脚本ClickTwiceToQuitApp.cs,其代码如下。
检测返回键
下面是一个测试用户双击手机屏幕速度的app,拿来展示"Click again to quit app"这个功能是很清晰的。这个app的源码包在( http://pan.baidu.com/s/1dDIobN7 ),APK在( http://pan.baidu.com/s/1hq1mV0S )。欢迎下载试用。
![](http://images.cnitblog.com/blog/383191/201503/021415126451985.png)
下面详述制作步骤。你也可以直接下载源码包,复制里面的 TipToQuitApp 对象,即粘即用。
![](http://images.cnitblog.com/blog/383191/201503/021415135989826.png)
创建一个 Text 对象。
![](http://images.cnitblog.com/blog/383191/201503/021415146915626.png)
![](http://images.cnitblog.com/blog/383191/201503/021415158321710.png)
![](http://images.cnitblog.com/blog/383191/201503/021415175046166.png)
[C#]
纯文本查看
复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
using
UnityEngine;
using
System.Collections;
public
class
ClickTwiceToQuitApp : MonoBehaviour {
public
UnityEngine.UI.Text tipTextBox;
public
string
tip =
"Click again to quit app"
;
public
float
fadingSpeed = 1;
private
bool
fading;
private
float
startFadingTime;
private
Color originalColor;
private
Color transparentColor;
// Use this for initialization
void
Start()
{
originalColor = tipTextBox.color;
transparentColor = originalColor;
transparentColor.a = 0;
tipTextBox.text = tip;
tipTextBox.color = transparentColor;
}
// Update is called once per frame
void
Update()
{
if
(Input.GetKeyDown(KeyCode.Escape))
{
if
(startFadingTime == 0)
{
tipTextBox.color = originalColor;
startFadingTime = Time.time;
fading =
true
;
}
else
{
Application.Quit();
}
}
if
(fading)
{
tipTextBox.color = Color.Lerp(originalColor, transparentColor, (Time.time - startFadingTime) * fadingSpeed);
//颜色以线性速度透明掉
if
(tipTextBox.color.a < 2.0 / 255)
{
tipTextBox.color = transparentColor;
startFadingTime = 0;
fading =
false
;
}
}
}
}
|
检测返回键
上面代码中的 Input.GetKeyDown(KeyCode.Escape); 既能够检测PC键盘的Esc键,又能够检测Android手机的返回按键。
原文地址:http://www.unitymanual.com/thread-38273-1-1.html