我試圖在我的游戲中的角色上方放置一個畫布,以顯示有關(guān)其動畫/健康等的一些信息,以便對其進行調(diào)試。我通過代碼完成所有這些工作。因此,我首先向角色添加一個游戲?qū)ο?。然后,我將畫布添加到此游戲?qū)ο?。這工作正常。然后,我向此游戲?qū)ο筇砑右粋€“面板”,并將圖像放入其中。我想使用此圖像作為將顯示的文本的背景。我似乎無法使面板的大小如此之大,以至于它完全適合Canvas游戲?qū)ο?。文本也是如此。我在這里做錯了什么?謝謝。private void pCreateCanvas() { GameObject nCanvasGO = new GameObject(“CanvasContainer”); nCanvasGO.transform.SetParent(_ThisCharacter.transform); //parent the gameobject to the character
1 回答

縹緲止盈
TA貢獻2041條經(jīng)驗 獲得超4個贊
而不是
rtPanelGO.anchorMin = new Vector2(0, 0); rtPanelGO.anchorMax = new Vector2(1, 1);
嘗試
rtPanelGO.offsetMin= new Vector2(0, 0); rtPanelGO.offsetMax = new Vector2(0, 0);
更新:關(guān)鍵是要使用ctrttransform,當然,請記住,您對它所做的某些更改不會對您創(chuàng)建的框架產(chǎn)生任何影響。您可以嘗試等待 1 幀,然后在畫布和所有游戲?qū)ο笥行У靥砑拥綀鼍爸袝r,將所有更改應(yīng)用到面板。例如,使用協(xié)程。
請參閱 unity 論壇上的 https://forum.unity.com/threads/setting-top-and-bottom-on-a-recttransform.265415,了解有關(guān)設(shè)置頂部和底部偏移的更多信息。
UPDATE2:Talke也看看這種方法:https://docs.unity3d.com/ScriptReference/RectTransform.SetInsetAndSizeFromParentEdge.html
- 1 回答
- 0 關(guān)注
- 120 瀏覽
添加回答
舉報
0/150
提交
取消