一、新建一個名為TestMiniMap的UserWidget用來使用小地圖StaticMiniMap。
二、在左側“User Created”面板中可以看到除自身以外的其他所有用戶創建的UserWidget。把“Static Mini Map”拖放進來,並勾選“Size To Content”。
Static Mini Map只有與小地圖邏輯相關的功能(如何移動、如何旋轉等等),而小地圖怎么使用,則放在“TestMiniMap”中,這樣分開比較合理。
二、在Static Mini Map中,使用OverLay作為根節點
1.添加一個名為MapImageWidget的Image組件用來顯示地圖縮略圖。
2.添加名為FlagPanel的Canvas Panel作為顯示對象小圖標的畫布,Canvas Panel的子對象可以自由設置坐標點定位。
3.在運行時往FlagPanel容器動態添加圖標,並設置圖標位置。
4.MapImageWidget和FlagPanel的對齊方式都設置為完全填充。
5.MapImageWidget和FlagPanel是完全疊加關系,因此需要父級對象是Overlay組件
三、在StaticMiniMap中完善SetupMap函數。給Image動態設置圖片使用Set Brush from Texture函數,Match Size:讓Image組件的大小與Texture的大小一致。
四、在TestMiniMap中調用StaticMiniMap的Setup函數,設置需要使用的地圖縮略圖。fps_MimiMap是導入到UE4中的一張jpg圖片。
五、運行游戲,可以看到左上角的地圖出來了,但是小地圖很大,目前小地圖的顯示尺寸是512*512,正好是縮略圖的尺寸一致。
1.StaticMiniMap中的SetupMap中勾選了Match Size選項,並且MapImageWidget的對齊方式完全填充。
2.在TestMiniMap中添加的StaticMiniMap的勾選了Size To Content選項
3.因此小地圖在運行時呈現出來了的尺寸就是縮略圖的尺寸。
六、取消勾選在TestMiniMap中添加的StaticMiniMap的Size To Content選項,並且設置一個合適的Size X和Size Y。再次運行游戲,可以看到小地圖尺寸變成了設置的Size X和Size Y了。