大神的Blog掛了,從Bing快照裡複製過來的備份

2022-05-23 06:45:08 字數 2392 閱讀 7170

2023年8月30日0

為了使用umg中的一些高階或便利特性,需要將製作好的slate控制項封裝uwidget中去。

當前ue4版本4.8.3。

將slate封裝umg中去有很多的好處,因為在**中對需要重用的控制項進行不斷的重新布局是一件非常繁瑣的事情。同時,umg也有在3d空間中進行顯示這樣的高階功能。

由於umg本身就是對slate的封裝,所以這個過程可以參照ue4的源**進行研究。

這裡所做的是嘗試對上一回所做的檔案目錄樹進行封裝

直接上**

clistviewwidget.h

c++123

4567

891011

1213

1415

1617

1819

2021

2223

2425

2627

2829

#pragma once

#include "clistviewwidget.generated.h"

uclass()

classtest_mp_api uclistviewwidget:publicuwidget

;封裝類直接繼承自uwidget即可,剩下的就是對uwidget中的函式進行實現。

clistviewwidget.cpp

c++123

4567

891011

1213

1415

1617

1819

2021

2223

2425

2627

2829

3031

3233

3435

3637

3839

4041

4243

4445

4647

4849

5051

5253

#include "test_mp.h"

#include "sddfiletree.h"

#include "clistviewwidget.h"

/** generated_uclass_body() */

uclistviewwidget::uclistviewwidget(constfobjectinitializer&objectinitializer)

:super(objectinitializer)

/** 《編輯器屬性 */

#if with_editor

// 《圖示

constfslatebrush*uclistviewwidget::geteditoricon()

// 《分類目錄

constftext uclistviewwidget::getpalettecategory()

// 《建立時的預設值

voiduclistviewwidget::oncreationfrompalette()

#endif

tsharedref<swidget>uclistviewwidget::rebuildwidget()

voiduclistviewwidget::onbindingchanged(constfname&property)

}在所有的函式中,rebuildwidget()是最重要的。

參看uwidget的源**可以發現,所有對被封裝swidget的引用都是通過這個函式獲得的,因此在這裡面寫上swidget對應的構造生成就可以了。

onbindingchanged函式是用於屬性**通知的,這裡是簡單的封裝,沒有提供屬性**,因此直接return也是可以的。

在with_editor巨集中的是編輯器屬性,用於封裝後的uwidget在藍圖編輯器中顯示。具體每乙個函式的含義已經在注釋中了。

將clistviewwidget拖動控制項藍圖上,並在hud中展示此控制項藍圖,就能在專案中與其他umg控制項一樣使用了:

這樣以來slate的使用就會變得方便很多。

從大神的部落格學解決方案

2018年4月14號 週六 晚 小雨 南京 csdn部落格 場景 使用者翻倍 問題 晚上做日結,規律性宕機 找原因 檢視jvm程序 日誌,根據機器效能 伺服器部署狀況,初步猜測問題所在 然後根據日誌 設計文件 找出根本原因。原因 檢視報表資料暫存於user session用陣列索引下標去翻頁,每次翻...

快排從右開始的原因

當我們把基準值設定在左邊時,為什麼要從右邊先開始找?乙個陣列為 6 1 2 7 9 3 4 5 10 8 先從右往左 前面幾輪查詢不貼了,到i j時與基準數進行交換,交換之後保證左邊的數都小於基準值右邊的數都大於基準值 從左往右 從有問題開始 i繼續前行當i j時此時值為9,但是條件限制j不能繼續前...

從狀態模式看「大神」和「菜鳥」的差別

大話設計模式 中講狀態模式這一節名字叫做 無盡加班何時休 狀態模式 菜鳥因為程式設計經驗不足,解決這個問題的能力不夠而不得不犧牲時間去不斷的寫 結果還是重複出錯。而大神每次都能深入到問題的根源運用自己的思想去寫 每乙個問題都完美的解決。加班的菜鳥一天各個時間段狀態都不一樣。從開始的精神百倍到越來越疲...