1. 程式人生 > >unity實現dialog效果教程

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就完成了 下面是效果圖

這裡寫圖片描述

這裡寫圖片描述