Unity UGUI動態生成控制項

2022-01-12 15:12:17 字數 1404 閱讀 3533

一、 首先你得先清楚recttransform元件的一些程式控制  

1. 先得到ugui控制項上面的recttransform元件

recttransform rtr = gameobject.getcomponent();
2.  設定top和bottom值

rtr.offsetmax = new vector2(rtr.offsetmax.x, top);
rtr.offsetmin = new vector2(rtr.offsetmin.x, bottom);
3. 設定width,height

rtr.sizedelta = new vector2(width, height);
4.  設定pos

rtr.anchoredposition3d = new

vector3(posx,posy,posz);

rtr.anchoredposition = new vector2(posx,posy);

二、動態生成button例項

1. 目標是要生成這樣乙個button,這是手工設定的方式:

2. 現在是**方式:

canvas = gameobject.find("

canvas

").transform;

if(buttonprefab)

{newbutton =(button)instantiate(buttonprefab);

newbutton.transform.setparent(canvas);

recttransform rtr = newbutton.getcomponent();

//設定父級基準位置

rtr.anchormin = new vector2(0.5f,0.5f

); rtr.anchormax = new vector2(0.5f, 0.5f

);

//定義控制項自身定位點位置

rtr.pivot = new vector2(0.5f, 0.5f

);

//定義控制項定位點相對基準位置的偏移

rtr.anchoredposition = new vector2(0, 0

);

//定義控制項大小

rtr.sizedelta = new vector2(200, 80

);

//事件新增

newbutton.onclick.addlistener(buttonclicked);

Unity UGUI字間距控制項

修改自 在原文的基礎上增加了居中對齊和右對齊,與text元件的設定保持一致 修改了換行檢測的邏輯,原文需要在text中手動輸入回車,然後在字串中檢測 n來區分換行,這樣是不支援自動換行的情況的,這種情況下文字會錯位。檢測自動換行的思路是 6個為一組取出構成乙個字元的三角麵片的所有頂點,計算出矩形中心...

android動態生成控制項

方法 呼叫布局容器的addview,addview需傳入的引數就是你想放置的view 這裡給出乙個例子 final linearlayout layout new linearlayout this layout.setorientation linearlayout.vertical setcon...

Unity UGUI控制項大小適配父容器

需求 需要把ugui控制項的尺寸調整到指定大小,如匹配至設計的解析度。或者說想制定覆蓋全屏的背景。做法 將這個ugui控制項的recttransform元件裡的anchor presets設為預設的最後乙個 右下角 即anchor錨點的4個花瓣分開至匹配父容器,然後把left top right b...