unity实现dialog效果教程

一 介绍

首先声明一下本人是一个小菜鸟刚接触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 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就完成了 下面是效果图

这里写图片描述

这里写图片描述

demo下载地址:demo下载地址

GitHub地址:GitHub地址

Unity Dialog是指在Unity游戏开发中实现的一种对话框效果,通常用于显示提示信息、确认操作等。它可以在用户点击按钮或者满足某些条件时弹出,并提供相应的交互功能。为了实现Unity Dialog,我们可以创建一个包含对话框的面板,并在面板上添加相应的UI元素,如文本框、按钮等。通过编写脚本,我们可以定义显示和关闭对话框的方法,并将这些方法与按钮的点击事件关联起来。在脚本中,我们可以使用SetActive方法来控制对话框的显示和隐藏。当用户点击显示对话框的按钮时,我们可以调用SetActive(true)来将对话框面板设置为激活状态,从而显示对话框。而当用户点击关闭对话框的按钮时,我们可以调用SetActive(false)来将对话框面板设置为非激活状态,从而关闭对话框。通过这样的方式,我们可以实现Unity中创建和控制对话框的效果,提升游戏的交互性和用户体验。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [unity实现dialog效果教程](https://blog.csdn.net/p_redStone/article/details/53857891)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [【Unity2D】制作对话框触发条框DiaLog](https://blog.csdn.net/dangoxiba/article/details/122922167)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值