Java 退出unity android游戏的确认屏幕
我正在用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
如何使用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");
}