一 介绍
首先声明一下本人是一个小菜鸟刚接触Unity,这篇教程主要是给刚接触unity的新手学习交流的,在项目中经常会用到类似于dialog这种效果,因为自己刚接触所以很多东西都不会,在百度上面查了好多资料效果不是很好,可能是因为我水平有限。这里我把我实现dialog效果的过程展示出来:
二 准备
- unity的开发工具
- 图片资源
三 步骤
首先我们要创建一个unity项目 这里我们为了方便直接创建2D项目(这里我已经创建了直接跳过) 创建之后我们进入到主界面:
项目创建完成后,在创建一个场景(CTRL+S)名字可以随便去,这里我把名字改为mian。
场景创建完之后,在创建一个Canvas (把名字改为background)根据图片设置相关属性(添加一个Image属性设置图片为我们先前准备的背景图片)。接下来我猛在创建一个Canvas(改名dialog),然后在dialog中创建一个panel设置大小为整个屏幕大小,修改panel属性image属性下的color值为:00000088(你也可以创建其他的),然后再在panel下创建一个Image(作为对话框的整体背景)把图片设置为对话框背景图片这边我把创建的Image改名为了dialog,然后可以在dialog下创建各种你想要的控件,我这边为了演示只创建了一个关闭dialog的button按钮。
到这一步我们的dialog就创建完成了 (我们要实现的效果是点击一个事件在触发) 所以我们先把panel给隐藏 我们先把panel设为FALSE;
设置完成之后 我们在到之前创建的background中创建一个button 用来触发显示dialog
接下来创建button的点击事件 点击之后我们让 panel显示出来 下面我们开始编写脚本
新建一个C#脚本 这里我改名为showDilog 在脚本中定义两个方法 一个关闭dialog 和显示dialog的方法 下面是脚本的 我们把脚本分别加到 button 和close 两个按钮上 然后再把两个button的点击事件设置为 sDialog 和cDialog
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class showDialog : MonoBehaviour {
public GameObject panel;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
/// <summary>
/// 显示dialog
/// </summary>
public void sDialog()
{
panel.SetActive(true);
}
/// <summary>
/// 关闭dialog
/// </summary>
public void cDialog()
{
panel.SetActive(false);
}
}
到这一步我们的dialog就完成了 下面是效果图