我有一個空的GameObject用Grid Layout Group它。
還有幾個Sprite帶有Layout Elements 的兒童游戲物件。
我注意到Grid Layout Group將根據其設定“調整”它們的大小。
但不幸的Sprite是,它不受“大小”的影響,它受“尺度”的影響。
我找不到任何選項既不Grid Layout Group也不Layout Element讓我將它設定為自動重新調整,而不是自動調整大小。
我也找不到任何選項Sprite Renderer讓它“自動適應”到它的大小。
我試圖在子物件中添加一個腳本,通過代碼重新縮放它們:
RectTransform rt = GetComponent<RectTransform>();
rt.localScale = rt.sizeDelta;
rt.sizeDelta = new Vector2(1, 1);
但是由于某種原因,所有的sizeDeltas 在分配給localScale.
有趣的是,當我運行后在檢查器中檢查它時,里面的所有尺寸Rect Transform都是它應該是的!
(所以結果變成:sizeDelta不變,localScale變成(0,0,0)。)
有人可以這么好心教我如何解決它嗎?
或者也許我可以向子物件添加一些選項或其他組件以讓它們自動重新縮放?
非常感謝您的幫助!
uj5u.com熱心網友回復:
布局組旨在與 UI Elements 一起使用,因此您應該使用使用 rect 變換來控制其大小的Image而不是 sprite 渲染器。對于使用精靈渲染器的游戲物件,最好使用網格組件或創建自定義組件。
現在,如果您正在制作三消游戲之類的游戲,您將必須決定是否要使用 UI 元素來制作圖塊/球體/水果或帶有網格或某種自定義組件的精靈。這兩種方法各有利弊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/324776.html
