【发布时间】:2016-01-29 13:31:57
【问题描述】:
【问题讨论】:
-
您必须使用警告对话框。见this
-
找不到类型或命名空间名称“AlertDialog”。您是否缺少 using 指令或程序集引用?
-
这是一个问题吗?
-
是的,有什么问题,它不知道什么是AlertDialog
【问题讨论】:
您可以像这样访问 java.lang.Class 和 java.lang.Object。
AndroidJavaClass unityPlayer = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");
AndroidJavaObject activity = unityPlayer.GetStatic< AndroidJavaObject > ("currentActivity");
由此您应该能够设置 GUI 组件、按钮和单击侦听器来模拟警报对话框
见this post进一步了解
【讨论】:
我为你做了一个小例子
这就是我的想法(我试着评论一下代码 参考),Reference
public class QuitHandler : MonoBehaviour {
public CanvasGroup uiCanvasGroup;
public CanvasGroup confirmQuitCanvasGroup;
// Use this for initialization
private void Awake()
{
//disable the quit confirmation panel
DoConfirmQuitNo();
}
/// <summary>
/// Called if clicked on No (confirmation)
/// </summary>
public void DoConfirmQuitNo()
{
Debug.Log("Back to the game");
//enable the normal ui
uiCanvasGroup.alpha = 1;
uiCanvasGroup.interactable = true;
uiCanvasGroup.blocksRaycasts = true;
//disable the confirmation quit ui
confirmQuitCanvasGroup.alpha = 0;
confirmQuitCanvasGroup.interactable = false;
confirmQuitCanvasGroup.blocksRaycasts = false;
}
/// <summary>
/// Called if clicked on Yes (confirmation)
/// </summary>
public void DoConfirmQuitYes()
{
Debug.Log("Ok bye bye");
Application.Quit();
}
/// <summary>
/// Called if clicked on Quit
/// </summary>
public void DoQuit()
{
Debug.Log("Check form quit confirmation");
//reduce the visibility of normal UI, and disable all interraction
uiCanvasGroup.alpha = 0.5f;
uiCanvasGroup.interactable = false;
uiCanvasGroup.blocksRaycasts = false;
//enable interraction with confirmation gui and make visible
confirmQuitCanvasGroup.alpha = 1;
confirmQuitCanvasGroup.interactable = true;
confirmQuitCanvasGroup.blocksRaycasts = true;
}
/// <summary>
/// Called if clicked on new game (example)
/// </summary>
public void DoNewGame()
{
Debug.Log("Launch a new game");
}
【讨论】: