国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Unity 3D】圖形界面GUI的講解及在C#中實現(xiàn)用戶登錄界面的實戰(zhàn)(附源碼)

這篇具有很好參考價值的文章主要介紹了【Unity 3D】圖形界面GUI的講解及在C#中實現(xiàn)用戶登錄界面的實戰(zhàn)(附源碼)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

需要源碼請點贊關注收藏后評論區(qū)留言并且私信~~~

在游戲開發(fā)過程中,游戲界面占據(jù)了非常重要的地位,玩家啟動游戲的時候,首先看到的就是游戲的UI,其中包含圖片、按鈕和高級控件等等,UGUI和GUI是Unity 3D中最常用的兩個UI系統(tǒng)。

一、GUI簡介

GUI是Graphical User Interface的縮寫,Unity的圖形界面系統(tǒng)能容易的快速創(chuàng)建出各種交互界面。游戲界面是游戲作品中不可或缺的部分,它可以為游戲提供導航,也可以為游戲內容提供重要的信息,同時是美化游戲的一種重要手段,Unity 3D內置了一套完整的GUI系統(tǒng),提供了從布局、空間到皮膚的一整套GUI解決方案,可以做出各種風格和樣式的GUI界面,目前Unity 3D沒有提供內置的GUI可視化編輯器,因此GUI界面的制作需要全部通過編寫腳本代碼實現(xiàn)

寫GUI腳本,必須注意兩個重要特性

1:GUI腳本控件必須定義在腳本文件的OnGUI事件函數(shù)中

2:GUI每一幀都會調用

二、常用基本控件使用

GUI基本控件及其含義如下

Label 繪制文本和圖片

TextField 繪制一個單行文本輸入框

TextArea 繪制一個多行文本輸入框

PasswordField 繪制一個密碼輸入框

Button 繪制一個按鈕

ToolBar 創(chuàng)建工具欄

ToolTip 用于顯示提示信息

Toggle 繪制一個開關按鈕

Box 繪制一個圖形框

ScrollView 繪制一個滾動視圖組件

Color 渲染GUI顏色

Slider 包含水平和垂直滾動條

DragWindow 用于實現(xiàn)屏幕內的可拖曳窗口

Window 窗口組件 在窗口中可以添加任意組件

下面使用GUI基本控件實現(xiàn)一個建議的用戶登錄界面

效果如下 點擊上方按鈕可以進行顏色的切換

unity 繪制gui,Unity 3D,unity,c#,3d,游戲引擎,ui

?unity 繪制gui,Unity 3D,unity,c#,3d,游戲引擎,ui

?unity 繪制gui,Unity 3D,unity,c#,3d,游戲引擎,ui

?部分代碼如下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test_16_8 : MonoBehaviour
{
    private string userName = "";
    private string password = "";
    private string info = "";
    private bool manSex = false;
    private bool womanSex = false;

    Vector2 scrollPosition = Vector2.zero;

    int toolbarInt = 0;
    string[] toolbarStrings = { "紅色", "綠色", "藍色" };

    void OnGUI()
    {
        //Box組件 下面的內容放到Box組件里面
        GUI.Box(new Rect(290, 260, 300, 300), "");
        //Toolbar組件創(chuàng)建工具欄
        toolbarInt = GUI.Toolbar(new Rect(310, 270, 250, 30), toolbarInt, toolbarStrings);
        switch (toolbarInt)
        {
            case 0:
                GUI.color = Color.red;
                break;
            case 1:
                GUI.color = Color.green;
                break;
            case 2:
                GUI.color = Color.blue;
                break;
            default:
                break;
        }
        //Label組件繪制文本
        GUI.Label(new Rect(310, 310, 70, 20), new GUIContent("用戶名:", "Label組件"));
        //TextArea組件繪制輸入框
        userName = GUI.TextField(new Rect(380, 310, 200, 20), userName);
        GUI.Label(new Rect(310, 330, 70, 20), new GUIContent("密碼:", "Label組件"));
        //PasswordField組件繪制密碼輸入框
        password = GUI.PasswordField(new Rect(380, 330, 200, 20), password, '*');
        //Toggle組件繪制開關按鈕
        manSex = GUI.Toggle(new Rect(310, 370, 50, 20), manSex, "男");
        womanSex = GUI.Toggle(new Rect(350, 370, 50, 20), womanSex, "女");
        GUI.Label(new Rect(310, 420, 70, 20), new GUIContent("個人簡介:", "Label組件"));
        //ScrollView組件
        scrollPosition = GUI.BeginScrollView(new Rect(380, 420, 200, 100), scrollPosition, new Rect(0, 0, 200, 300));
        info = GUI.TextArea(new Rect(0, 0, 200, 300), info);
        GUI.EndScrollView();
        //Button繪制按鈕
        GUI.Button(new Rect(400, 530, 50, 20), new GUIContent("保存", "Button組件"));
        //ToolTip用戶顯示提示信息
        GUI.Label(new Rect(480, 530, 200, 40), GUI.tooltip);

        //Window組件和DragWindow組件
        Rect windowRect0 = new Rect(300, 600, 120, 50);
        Rect windowRectwRect1, DoMyWindow, "Green Window");
    }

    private void DoMyWindow(int id)
    {
        if (GUI.Button(new Rect(10, 20, 100, 20), "可拖動窗口"))
        {
            Debug.Log("color" + GUI.color);
        }
        GUI.DragWindow(new Rect(0, 0, 10000, 10000));
    }
}

三、GUILayout自動布局

使用GUILayout自動布局,讓每個組件的寬度和高度按照一些字體的大小進行統(tǒng)一計算,采取靠左對齊或者靠右對齊,一個空間占據(jù)一行的原則進行布局

下面使用默認Rect定位方式排列Label

代碼如下

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test_16_9 : MonoBehaviour
{
    void OnGUI()
    {
        GUI.Label(new Rect(0, 0, 70, 20), "你好");
        GUI.Label(new Rect(0, 20, 70, 20), "世界");
        GUI.Label(new Rect(0, 40, 70, 20), "Hello");
        GUI.Label(new Rect(0, 60, 70, 20), "World");
    }
}

這時輸出文字都是靠左對齊 不夠美觀

下面使用GUILayout進行自動布局

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Test_16_10 : MonoBehaviour
{
    void OnGUI()
    {
        GUILayout.BeginArea(new Rect(400, 200, 300, 400));
        GUILayout.Label("你好");
        GUILayout.Label("世界");
        GUILayout.Label("Hello");
        GUILayout.Label("World");
        GUILayout.EndArea();
    }
}

這時輸出文字會居中對齊 更加美觀

創(chuàng)作不易 覺得有幫助請點贊關注收藏~~~文章來源地址http://www.zghlxwxcb.cn/news/detail-695279.html

到了這里,關于【Unity 3D】圖形界面GUI的講解及在C#中實現(xiàn)用戶登錄界面的實戰(zhàn)(附源碼)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 如何使用Java實現(xiàn)圖形用戶界面(GUI)?

    隨著計算機技術的不斷發(fā)展,圖形用戶界面(GUI)成為現(xiàn)代軟件開發(fā)的一個重要方面。通過使用GUI,開發(fā)人員可以創(chuàng)建具有可視化界面的應用程序,以提供更好的用戶體驗。在本文中,我們將介紹如何使用Java實現(xiàn)GUI。 Java提供了多個GUI庫,包括Swing、JavaFX和AWT。其中,Swing和

    2024年02月04日
    瀏覽(28)
  • 如何設計和構建一個PyQt圖形用戶界面(GUI)

    歡迎來到PyQt的世界!設計和構建一個圖形用戶界面(GUI)可以是一項令人興奮且有趣的任務。 首先,你需要確保已經安裝了PyQt。如果你還沒有安裝,可以通過以下命令在你的Python環(huán)境中安裝: 現(xiàn)在,讓我們開始設計你的第一個PyQt GUI! 第一步:創(chuàng)建窗口 想象一下,如果你

    2024年02月12日
    瀏覽(30)
  • Python tkinter(GUI編程)模塊教程:打造出精美圖形用戶界面

    隨著程序越來越復雜,命令行已經無法滿足我們的需求,圖形化界面已成為當前主流的界面設計。在Python中,tkinter是一種簡單易用的GUI編程工具,可以幫助我們快速地創(chuàng)建圖形用戶界面。本文將通過實例詳細介紹如何使用Python tkinter模塊來打造出精美的圖形用戶界面。 安裝

    2024年02月13日
    瀏覽(33)
  • MCU 的 TOP 15 圖形GUI庫:選擇最適合你的圖形用戶界面(三)

    MCU 的 TOP 15 圖形GUI庫:選擇最適合你的圖形用戶界面(三)

    在嵌入式系統(tǒng)開發(fā)中,選擇一個合適的 圖形用戶界面(GUI)庫 是至關重要的。在屏幕上顯示的時候,使用 現(xiàn)成的圖形庫 ,這樣開發(fā)人員就不需要弄清楚底層任務,例如如何繪制像素、線條、形狀,如果再高級一點,則可以繪制某些對象,例如窗口、按鈕等。 前兩期我們介

    2024年02月03日
    瀏覽(19)
  • 【Python GUI庫】六個圖形用戶界面庫優(yōu)缺點及實例預覽

    在Python中,有很多庫可以幫助創(chuàng)建圖形用戶界面(GUI)。以下是一些流行的選擇: Python的標準庫之一,用于創(chuàng)建窗口、按鈕、滑動條和其他常見的GUI元素。對于簡單的應用程序,Tkinter可能就足夠了。 Tkinter的優(yōu)點: 1.Tkinter是Python的標準GUI庫,易于學習和使用,提供了基本的GU

    2024年02月03日
    瀏覽(25)
  • Python實現(xiàn)交互窗口功能(Tkinter;面向對象的圖形化用戶界面(GUI)模塊)(一)

    Python實現(xiàn)交互窗口功能(Tkinter;面向對象的圖形化用戶界面(GUI)模塊)(一)

    本文主要介紹Python中實現(xiàn)GUI的Tkinter模塊以及模塊中的控件及其使用 Python自帶了tkinter 模塊,面向對象的GUI工具包 TK 的Python編程接口,提供了快速便利地創(chuàng)建GUI應用程序的方法。 其圖像化編程的基本步驟通常包括: 導入 tkinter 模塊 創(chuàng)建 GUI 根窗體 添加人機交互控件并編寫相

    2024年02月08日
    瀏覽(18)
  • 【老生談算法】基于matlab時域頻域處理的語音信號變聲處理系統(tǒng)設計與算法原理(論文+程序源碼+GUI圖形用戶界面)——變聲算法

    【老生談算法】基于matlab時域頻域處理的語音信號變聲處理系統(tǒng)設計與算法原理(論文+程序源碼+GUI圖形用戶界面)——變聲算法

    大家好,今天給大家介紹基于matlab的語音信號變聲處理系統(tǒng)設計與算法原理(論文+程序源碼)。 運用matlab軟件實現(xiàn)對聲音的變聲處理,利用離散付里葉變換進行頻譜分析;設計數(shù)字濾波器組;通過時域和頻域方法做出各種音效效果,實現(xiàn)變速(慢放、快放),變調(頻譜左

    2024年02月04日
    瀏覽(43)
  • python如何做出圖形界面,python圖形化界面設計gui

    python如何做出圖形界面,python圖形化界面設計gui

    本篇文章給大家談談python編寫圖形化界面的工具,以及python如何做出圖形界面,希望對各位有所幫助,不要忘了收藏本站喔。 大家好,小編來為大家解答以下問題,python如何做出圖形界面,用python做圖形用戶界面,今天讓我們一起來看看吧! 一.定義理解 Python自帶了tkinter 模

    2024年02月20日
    瀏覽(26)
  • 第十一章:ROS圖形界面與GUI

    Robot Operating System(ROS)是一個開源的操作系統(tǒng),用于構建和管理機器人的軟件。它提供了一系列的工具和庫,以便開發(fā)者可以快速地構建和部署機器人的應用程序。ROS的圖形界面和GUI(圖形用戶界面)是一種用于與機器人進行交互的方式,使得開發(fā)者和用戶可以更容易地操作和控

    2024年03月27日
    瀏覽(22)
  • Linux環(huán)境下非GUI制作圖形界面方法

    如題,即就是僅僅使用ANSI轉義字符實現(xiàn)Linux環(huán)境的頁面效果,如字體顏色、背景顏色、高亮、固定位置光標、將光標放到指定位置、隱藏字符串等等。 具體實現(xiàn)方法在如下代碼中,使用方法在注釋里可以看到。 // //

    2024年02月19日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包