Java 退出unity android游戏的确认屏幕

Java 退出unity android游戏的确认屏幕,java,c#,unity3d,Java,C#,Unity3d,我正在用unity制作我自己的android游戏,我想让退出确认屏幕像这样: 如何使用c实现它?您可以像这样访问java.lang.Class和java.lang.Object AndroidJavaClass unityPlayer = new AndroidJavaClass ("com.unity3d.player.UnityPlayer"); AndroidJavaObject activity = unityPlayer.GetStatic< AndroidJavaObject

我正在用unity制作我自己的android游戏,我想让退出确认屏幕像这样:


如何使用c实现它?

您可以像这样访问java.lang.Class和java.lang.Object

AndroidJavaClass unityPlayer = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");
AndroidJavaObject activity = unityPlayer.GetStatic<  AndroidJavaObject >  ("currentActivity");
由此,您应该能够设置GUI组件、按钮和单击侦听器来模拟警报对话框


请参阅以进一步了解

我为您举了一个小例子

例如,在画布上的游戏对象上附加以下脚本 在普通ui的根目录中添加一个面板,例如 画布组组件 在退出确认ui的根目录中添加一个面板,例如 画布组组件 将双画布组链接到放置脚本的游戏对象 对于每个按钮退出,在Inspector中确认是,确认否添加 脚本对应方法的onclick事件 这就是我想对代码稍加注释的全部内容 参考


您必须使用警报对话框。请参阅找不到类型或命名空间名称“AlertDialog”的可能重复项。你是缺少using指令还是汇编引用?这是一个问题吗?是的,问题是什么,它不知道什么是AlertDialog我复制了代码,仍然是同一个问题我想这可能意味着你缺少引用,不是吗?如果您想说创建一个自定义对话框,您可以创建一个包含所需代码的jar库,并使用相同的技术访问jar中的类。您是否引用了包含所需代码的jar?我不确定,我使用的是Unity附带的visual studio。您必须制作一个包含AlertDialog java代码的jar,将jar作为项目的引用添加,然后才能对其进行操作。什么是a?
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");
 }