【发布时间】:2021-06-14 16:03:51
【问题描述】:
我希望我的应用程序在第一次按下后退按钮时显示消息“请再次触摸后退按钮以退出应用程序”,并且当再次按下时应用程序应该退出。我想我已经添加了适当的代码,但它不起作用。
脚本作为组件附加到画布元素。 该脚本包含我分配给面板(画布的子项)UI 元素的公共变量。
观察到: 当我按下后退按钮时,文本会出现,但只有几分之一秒,然后突然消失,下一次按下后退按钮并没有导致应用退出。
希望 在第一次按下后退按钮时,它应该显示消息,如果按下第二个后退按钮,应用程序应该在 3 秒内退出。
相关信息: 统一2017.1.0f3
这里是代码链接:
https://gist.github.com/bmohanrajbit27/431221fc80e0b247649289fd136f9cfb
public class ChangeSceneScript : MonoBehaviour
{
private bool iQuit = false;
public GameObject quitobject;
void Update()
{
if (iQuit == true)
{
if (Input.GetKeyDown(KeyCode.Escape))
{
Application.Quit();
}
}
if (Input.GetKeyDown(KeyCode.Escape))
{
quitobject.SetActive(true);
iQuit = true;
StartCoroutine(QuitingTimer());
}
}
IEnumerator QuitingTimer()
{
yield return new WaitForSeconds(3);
iQuit = false;
quitobject.SetActive(false);
}
}
【问题讨论】:
-
看来你快完成了,试试这个;当你第一次按下返回按钮时,从 3 开始倒计时。当这个值大于 0 时,你可以在 if 条件下检查它,如果按下返回按钮则退出你的应用程序。
-
我没有使用协程
-
@Mohan 你可以尝试用 else if (Input.GetKeyDown (KeyCode.Escape) 替换第 12 行 if (Input.GetKeyDown (KeyCode.Escape)) )
-
奇怪的代码应该可以工作