unity实现dialog效果教程

来源:互联网 发布:python 搭建技术博客 编辑:程序博客网 时间:2024/05/21 13:07

一 介绍

首先声明一下本人是一个小菜鸟刚接触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按钮。

主界面

创建Canvas

添加背景图

创建panel

到这一步我们的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 initializationvoid Start () {}// Update is called once per framevoid Update () {}/// <summary>/// 显示dialog/// </summary>public void sDialog() {         panel.SetActive(true);}/// <summary>/// 关闭dialog/// </summary>public void cDialog(){    panel.SetActive(false);}

}

到这一步我们的dialog就完成了 下面是效果图

这里写图片描述

这里写图片描述

demo下载地址:demo下载地址

GitHub地址:GitHub地址

0 0