? ,,

亚洲午夜精品视频_国产黄大片_网站av_99亚洲伊人久久精品影院红桃_91av入口_永久免费av片在线观看全网站

聯系我們

給我們留言

聯系我們

地址:福建省晉江市青陽街道洪山路國際工業設計園納金網

郵箱:info@narkii.com

電話:0595-82682267

(周一到周五, 周六周日休息)

當前位置:主頁 > 3D教程 > 圖文教程

UE4 UMG設置組件自適應居中或靠邊

來源: 52vr | 責任編輯:傳說的落葉 | 發布時間: 2019-06-11 08:30 | 瀏覽量:

比如你的UI中有些組件需要居中顯示,有些需要始終在右上角并且與上邊框和右邊框保持固定的距離等等,對于這種需要動態適應屏幕分辨率的UI組件,有兩種設置方式:

1,直接編輯組件的屬性Anchors


 

 [UE4]UMG設置組件自適應居中或靠邊

 

 

2,代碼控制

Cpp代碼
  1. ULoginWidget* LoginUI = NULL;   //創建UI的邏輯省略  
  2.   
  3. if (UImage* backImg = Cast<UImage>(LoginUI->GetWidgetFromName("ImgBackground")))  
  4. {  
  5.     //獲取屏幕大小和中心點  
  6.     const FVector2D ViewportSize = FVector2D(GEngine->GameViewport->Viewport->GetSizeXY());  
  7.     const FVector2D  ViewportCenter = FVector2D(ViewportSize.X / 2, ViewportSize.Y / 2);  
  8.   
  9.     //假設背景圖片的大小原尺寸大小是1920x1080,下面是通過高寬比來計算當前分辨率下的位置  
  10.     int imgWidget = 1920 * ViewportSize.Y / 1080;  
  11.     int posX = ViewportCenter.X - imgWidget / 2;  
  12.   
  13.     //設置背景圖片的相對X、Y坐標,注意:這里假設Anchors屬性默認的,即X、Y相對屏幕左上方頂點位置  
  14.     backImg->SetRenderTranslation(FVector2D(posX, 0));  
  15. }  

如果需要居中的UI組件很多,可以將居中的UI放在一個容器里,然后只對這一個容器進行居中即可。

這里假設直接將RootWidget居中:

Cpp代碼
  1. LoginUI->GetRootWidget()->SetRenderTranslation(FVector2D(X, Y));  

 

另外,通過代碼設置比例,需要在代碼中考慮當前設備的分辨率,如果不想考慮,將屏幕尺寸設成固定值:

 

[UE4]UMG設置組件自適應居中或靠邊


相關文章
網友評論

您需要登錄后才可以發帖 登錄 | 立即注冊

關閉

全部評論:0條

推薦
熱門
主站蜘蛛池模板: 久碰香蕉精品视频在线观看 | 久久优 | 性xxxx老妇506070 | 一个色在线视频 | 久草国产精品视频 | 主播蜜汁丝袜 精品自拍 | 一二三四在线观看免费高清中文网 | 日韩 欧美 亚洲 国产 | 一区二区三区四区精品 | 五十路熟妇高熟无码视频 | 亚洲国产精品久久久久久网站 | 精品久久久久成人码免费动漫 | 久久在线 | 日本一级在线观看视频播放 | 小雪尝禁果又粗又大的视频 | 中文字幕精品一区二区三区视频 | 成人h动漫精品一区二区无码 | aⅴ网站在线观看 | 日本高清久久 | 青青青在线视频免费 | 精品动漫中文字幕一区二区三区 | 亚洲精品午夜久久aaa级久久久 | 国产区在线免费观看 | 天天操天天操天天 | 久久精品国产亚洲av日韩 | 9 9久热re在线精品视频 | 99视频免费观看 | 国产色婷婷五月精品综合在线 | 国产精品秒播无毒不卡 | 婷婷色综合久久五月亚洲 | 免费人妻av无码专区 | 国产亚洲欧美另类专区 | 久久一区二区精品 | 精品久久久久久亚洲综合网 | 奇米777狠狠色噜噜狠狠狠 | 韩国19福利视频免费观看 | 亚洲欧美日本在线 | 国产精品久久久久久久久久妞妞 | 亚洲av成人无码一区在线观看 | 中文字幕人成乱码在线观看 | 久久青青草原亚洲av无码app |