UE4學習筆記 FPS游戲制作26 UE中的UI

文章目錄

    • 幾個概念
    • 創建一個UI藍圖
    • 添加UI
    • 獲取UI的引用 切換設計器和UI藍圖
    • 將UI添加到游戲場景
    • 錨點
    • 軸點
    • slot
    • SizeToContent
    • 三種UI數據更新方式
      • 函數綁定
      • 屬性綁定
      • 事件綁定
    • 九宮格分割圖片

幾個概念

UMG:UE的UI編輯器
slate UI: UE的UI的編輯語言

創建一個UI藍圖

右鍵用戶界面/控件藍圖,選擇UserWidget父類
在這里插入圖片描述
在這里插入圖片描述

添加UI

添加UI前先添加一個畫布,拖進場景里或者拖進層級里均可

在這里插入圖片描述

在這里插入圖片描述
然后需要什么UI直接往場景里拖就可以,也可以拖到別的UI上成為子級UI
例如先拖一個按鈕,再拖一個text到按鈕上,這樣text自動成為按鈕的子物體
在這里插入圖片描述

獲取UI的引用 切換設計器和UI藍圖

選中一個UI,勾選右上角是變量
在這里插入圖片描述
點擊右上角切換到事件圖表
在這里插入圖片描述
在變量里就可以看到UI
在這里插入圖片描述
注意變量的名字是這里的名字,而不是層級面板里的名字
在這里插入圖片描述

將UI添加到游戲場景

在GameModel里,創建UI并添加到游戲
在這里插入圖片描述

錨點

和Unity的錨點是一樣的,錨點是可以直接拖得
在這里插入圖片描述

在這里插入圖片描述

軸點

和untiy的0.5,0.5不同,UE的軸點默認對齊是0,0,位置是UI的左上角
這是軸點為0,0,位置也為0,0的情況,可以看到UI的左上角和錨點對齊
在這里插入圖片描述
我們把軸點改為0.5,0.5,位置仍然是0,0,現在可以看到UI的中心和錨點對齊
在這里插入圖片描述

slot

我們創建的按鈕的對齊方式里有一個插槽屬性,后邊顯示為畫布面板槽,這是因為它的父物體是畫布,父物體不同,他們的插槽的可選內容是不同的
在這里插入圖片描述
這是按鈕下的一個text,它的slot是按鈕槽,而不是畫布槽
在這里插入圖片描述

SizeToContent

勾選后尺寸屬性失去作用,完全由填充圖片或者子級文本長度來控制大小
在這里插入圖片描述

三種UI數據更新方式

函數綁定

對于UI中可變更的部分,例如數值,文本,點擊后邊的綁定按鈕,會自動在事件藍圖中創建一個函數,函數的返回值會自動更行到UI上,函數將每幀調用
在這里插入圖片描述
例如這里調用了一個GethealthPercent的函數,來獲取血量的百分比
在這里插入圖片描述
函數內部實現,Player是自己創建的變量
在這里插入圖片描述

屬性綁定

屬性綁定和函數綁定類似,也是每幀調用,區別在于函數綁定是讓UI同步函數的返回值,屬性綁定是讓UI同步屬性字段的值
要求屬性的數據類型必須和UI所需要的值相同

點開綁定,選擇一個屬性
以血量為例,雖然player中有當前血量,但是health的類型是float,不是string,所以不能直接用,我們需要在UI藍圖里新建要給HealthText的屬性,類型為text或string,然后在UI藍圖的tcik事件里每幀轉換數據類型給HealthText,最后再給UI綁定屬性
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

事件綁定

參考這個

九宮格分割圖片

參考unity的Slice模式的圖片,用于保持背景圖片邊框在拉伸時不會變化
選擇圖片,將他的繪制為由圖像改為盒體,并設置邊緣
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/73675.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/73675.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/73675.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

HttpRunner v4.x 遠程調用實踐指南

一、基于 SSH 的遠程執行方案 1. 環境準備流程 在目標服務器部署 HttpRunner 運行時環境: # 遠程服務器執行(需 Golang 1.18 和 Python 3.8) curl -ksSL https://httprunner.com/script/install.sh | bash配置免密登錄(本地機器…

頭條項目的文章延遲發布功能

最近做的頭條項目其中有個功能是創作者發表的文章可以設置在未來某個時間發表,在實現這個功能的時候就在想該怎么實現呢?剛開始想的是利用Spring的定時任務定時的去數據庫中查詢,可以這個查詢頻率該怎么設置,每次從數據庫中需要查…

Celery 全面指南:Python 分布式任務隊列詳解

Celery 全面指南:Python 分布式任務隊列詳解 Celery 是一個強大的分布式任務隊列/異步任務隊列系統,基于分布式消息傳遞,專注于實時處理,同時也支持任務調度。本文將全面介紹 Celery 的核心功能、應用場景,并通過豐富…

OpenHarmony NativeC++應用開發speexdsp噪聲消除案例

隨著5.0的版本的迭代升級,筆者感受到了開源鴻蒙前所未有大的版本更替速度。5.0出現了越來越多的C API可以調用,極大的方便了native c應用的開發。筆者先將speexdsp噪聲消除的案例分享,老規矩,還是開源!!&am…

nuxt3 seo優化

在 Nuxt3 中,通過 nuxtjs/seo、nuxtjs/sitemap 和 nuxtjs/robots 模塊可以生成包含動態鏈接的站點地圖(sitemap.xml),但具體是“實時生成”還是“部署時生成”,取決于你的配置方式和數據更新頻率。以下是具體分析&…

es6的100個問題

基礎概念 解釋 let、const 和 var 的區別。什么是塊級作用域?ES6 如何實現它?箭頭函數和普通函數的主要區別是什么?解釋模板字符串(Template Literals)的用途,并舉例嵌套變量的寫法。解構賦值的語法是什么…

【機器學習】什么是決策樹?

什么是決策樹? 決策樹是一種用于分類和回歸問題的模型。它通過一系列的“決策”將數據逐步分裂,最終得出預測結果。可以把它看作是一個“樹”,每個節點表示一個特征的判斷,而每個分支代表了可能的判斷結果,最終的葉子…

Java面試黃金寶典15

1. 請找出增序排列中一個數字第一次和最后一次出現的數組下標 定義 由于數組是增序排列的,我們可以利用二分查找的特性來高效地定位目標數字。對于查找第一次出現的位置,當中間元素等于目標數字時,我們需要繼續向左搜索,以確保找…

CentOS 7安裝 mysql

CentOS 7安裝 mysql 1. yum 安裝 mysql 配置mysql源 yum -y install mysql57-community-release-el7-10.noarch.rpm安裝MySQL服務器 yum -y install mysql-community-server啟動MySQL systemctl start mysqld.service查看MySQL運行狀態,運行狀態如圖&#xff…

科軟25機試

題目: 2025科軟復試上機題&#xff08;回憶版&#xff09;題解_嗶哩嗶哩_bilibili 1. 字符串反轉 #include<bits/stdc.h> using namespace std;void solve(string& a, int CurN) {if (!(CurN % 2)) {int right a.size() - 1;int left 0;while (left < right)…

Oracle相關的面試題

以下是150道Oracle相關的面試題&#xff0c;涵蓋了Oracle的基礎概念、架構、SQL與PL/SQL、性能調優、高可用性、備份與恢復、安全、分區與索引、存儲與內存管理、網絡與連接、版本與升級等方面&#xff0c;希望對你有所幫助。 Oracle基礎概念 1. 什么是Oracle數據庫&#xff1…

docker安裝,鏡像,常用命令,Docker容器卷,Docker應用部署,自定義鏡像,Docker服務編排,創建私有倉庫

1.為什么使用docker 如果開發環境和測試環境的允許軟件版本不一致&#xff0c;可能會導致項目無法正常啟動 把環境和項目一起打包發送給測試環境 1.1docker的概念 開源的應用容器引擎&#xff0c;完全使用沙箱機制&#xff0c;相互隔離&#xff0c;容器性能開銷極低 一種容…

ES 字段的映射定義了字段的類型及其行為

在 Elasticsearch 中&#xff0c;字段的映射定義了字段的類型及其行為。你提供的 content_answer 字段映射如下&#xff1a; Json 深色版本 "content_answer": { "type": "text", "fields": { "keyword": { …

Manus的開源替代者之一:OpenManus通用AI智能體框架解析及產品試用

引言 在AI智能體領域&#xff0c;Monica團隊近期發布的Manus被譽為全球首個通用型AI智能體。該項目推出后迅速爆紅&#xff0c;邀請碼一號難求&#xff0c;隨之而來的是各路開發者快速構建了眾多類似的開源替代方案。其中&#xff0c;MetaGPT團隊的5位工程師僅用3小時就開發完…

Linux MariaDB部署

1&#xff1a;查看Linux系統版本 cat /etc/os-release#返回結果&#xff1a; NAME"CentOS Linux" VERSION"7 (Core)" ID"centos" ID_LIKE"rhel fedora" VERSION_ID"7" PRETTY_NAME"CentOS Linux 7 (Core)" ANSI…

PHP MySQL 預處理語句

PHP MySQL 預處理語句 引言 在PHP中與MySQL數據庫進行交互時,預處理語句是一種非常安全和高效的方法。預處理語句不僅可以防止SQL注入攻擊,還可以提高數據庫查詢的效率。本文將詳細介紹PHP中預處理語句的用法,包括其基本概念、語法、優勢以及在實際開發中的應用。 預處理…

算法 | 2024最新算法:鳑鲏魚優化算法原理,公式,應用,算法改進研究綜述,matlab代碼

2024最新鳑鲏魚優化算法(BFO)研究綜述 鳑鲏魚優化算法(Bitterling Fish Optimization, BFO)是2024年提出的一種新型群智能優化算法,受鳑鲏魚獨特的繁殖行為啟發,通過模擬其交配、產卵和競爭機制進行全局優化。該算法在多個領域展現出優越性能,尤其在解決復雜非線性問題中…

HDR(HDR10/ HLG),SDR

以下是HDR&#xff08;HDR10/HLG&#xff09;和SDR的詳細解釋&#xff1a; 1. SDR&#xff08;Standard Dynamic Range&#xff0c;標準動態范圍&#xff09; ? 定義&#xff1a;SDR是傳統的動態范圍標準&#xff0c;主要用于8位色深的視頻顯示&#xff0c;動態范圍較窄&…

uni-app頁面怎么設計更美觀

頂部 頁面最頂部要獲取到手機設備狀態欄的高度&#xff0c;避免與狀態欄重疊或者被狀態欄擋住 // 這是最頂部的父級容器 <view :style"{ paddingTop: ${statusBarHeight extraPadding}px }">.... </view> export default {data() {return {statusBarH…

江西核威環保科技:打造世界前沿的固液分離設備高新企業

隨著市場經濟的不斷發展&#xff0c;消費者的需求越來越大&#xff0c;為了更好的服務廣大新老客戶&#xff0c;作為知名品牌的“江西核威環保科技有限公司&#xff08;以下簡稱江西核威環保科技&#xff09;”&#xff0c;將堅持以“服務為企業宗旨&#xff0c;全力打造世界前…