多級彈出菜單
https://www.bilibili.com/video/BV1ub411J7nA
運行時添加 widget 的方法
create widget 然后 add child 到某個組件,比如 canvas
運行時修改 widget 位置的方法
set widget slot position 用起來沒效果
懷疑是因為我沒有傳入 slot
但是暫時不知道這個 slot 是什么
于是查到
https://forums.unrealengine.com/t/dynamically-set-widget-position-on-canvas-panel/436026
這個 Get widget > As Canvas Slot - set Size / Position 的方法確實可以
所以這里也是涉及到了 slot,只是有一個函數使得 canvas 作為 slot?
但是一般情況下我怎么獲取到一個 widget 然后把他視為 slot 變量?
隨便找的 slot 變量也不是這個類型,怪
添加 UI
對比不同方法,BP 中的設置保持相同,比如我的 anchor 始終沒有變過
手動管理位置的方法總是會對不齊位置
只有讓新添加的 widget 是上一級菜單的 child 才能對齊
其中我的子菜單的 UI 是這樣的
一個 button 只能有一個 child
https://forums.unrealengine.com/t/widget-cant-accept-additional-children-how-to-fix/667786
button 下面加 vertical box 也對不齊
button slot 也不像 canvas slot
https://forums.unrealengine.com/t/does-slot-as-button-slot-exist-bug/407152/4
最后發現是 button 的這些屬性會影響 button slot 的范圍
如果不改的話,就會是上面看到的一條線一樣的區域
改了 0 之后,可動區域才是整個按鈕的范圍
批量綁定事件
這樣子是不行的
還是老老實實用 widget 作為 child 吧