Unity教程之手把手教你实现弹框

在游戏中,经常会有需要弹框的场景,那如何实现弹框呢?告诉大家一个非常简单的实现方法:

  1. 首先在场景的合适位置放置好弹框的位置:
    例如,填加了个Image,放置退出弹框,将Image改名为Dialog(非必须,纯属个人习惯),在Dialog下面放置两个button,用来交互。另一个Button用来当点击时弹出弹框:

    Unity教程之手把手教你实现弹框_第1张图片

  2. 在Inspector中将Dialog取消勾选:

    Unity教程之手把手教你实现弹框_第2张图片

  3. 选择Button,在Inspector中添加OnClick响应事件:

    Unity教程之手把手教你实现弹框_第3张图片

    Unity教程之手把手教你实现弹框_第4张图片

至此,就可以实现点击Button时,弹出弹框,很简单吧~~~

Unity教程之手把手教你实现弹框_第5张图片


下面也给“ok”和“quit”键加上响应事件吧:
1, 新建一个C#脚本,MainCamera.cs,里面加入如下代码,将脚本挂载在Main Camera上:

public void IsQuit (bool quit)
{
    if (quit) {
        //退出游戏
        Application.Quit ();
    }
}

2, 分别给“ok”和“cancel”键添加OnClick响应事件:
(1)ok:

Unity教程之手把手教你实现弹框_第6张图片

(2)cancel:

Unity教程之手把手教你实现弹框_第7张图片

这样当点击ok键的时候,就可以退出游戏,而点击cancel键的时候,弹框就会消失,游戏继续。


对于安卓手机来说,如何在点击系统返回键的时候弹出退出框呢?
其实很简单,在MainCamera.cs中加入如下代码:

public class MainCamera : MonoBehaviour {

    public GameObject dialog;

    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {
            //捕获Android的系统返回键
        if (Application.platform == RuntimePlatform.Android && (Input.GetKeyDown (KeyCode.Escape))) {
            //弹窗,让玩家确认是否退出
            dialog.SetActive (true);
        }
    }

    public void IsQuit (bool quit)
    {
        if (quit) {
            Application.Quit ();
        }
    }
}

并在Main Camera的Inspector中,dialog选择Dialog即可:

Unity教程之手把手教你实现弹框_第8张图片

你可能感兴趣的:(unity)