看板 GameDesign 關於我們 聯絡資訊
ngui版本:2.7.0 我使用 UI Wizard 新增一個 Panel 後, 新增一個預設的按鈕作為 prefab 預設按鈕位於螢幕中央,寬高 (150, 40) <-(是說為何是這個值? 我在 script 裡面 Instantiate 這個按鈕並將它掛在 Panel 中, 這時若將按鈕的 transform.position 設為 (0, 0, 0) 它會乖乖的在中央沒錯,但若設為 (1, 1, 0), 在執行時會自動變成 (183, 183, 0) 請問我該如何正確指定按鈕的大小及位置? @@" 感謝指導 0rz -- 想你的時候 不一定能告訴你 如果不告訴你 也能會意 那我們就是有 真正的默契 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.231.79 ※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1445093852.A.64D.html
wix3000: 再補一句transform.localPosition不就好了 XD 10/17 23:06
bill42362: 阿!真的耶!! 這層層疊疊的真難懂... 10/17 23:10
bill42362: 另外請問,那個預設的 (150, 40) 是怎麼來的? 感謝 QQ 10/17 23:11
wix3000: NGUI不熟 應該是因為他的prefab就是150,40吧 10/18 00:08
bantime: 你在設定好座標後 有沒有改它的parent 10/18 19:52
bantime: 把prefabs Clone出來的順序 應該是先instantiate 10/18 19:54
bantime: 設定parent 然後設定座標以及scale 10/18 19:54
bantime: 而且你在code裡面設定position的值不一定會等於 10/18 19:55
bantime: 你在UnityInspector看到的 10/18 19:57
bantime: UnityInspector的position是localposition 10/18 19:58
bill42362: 我是用b大的順序設定的沒錯,目前先暫時用 localPos 10/18 22:39
bill42362: 不過搞不清楚 pos -> localPos 的機制實在有點不安心 10/18 22:39
bantime: local是自身座標 如果local.x = 100 10/18 22:45
bantime: 它的parent的local.x是-100 而且已經沒有parent了 10/18 22:46
bantime: 那它的pos.x 就會是 0 10/18 22:46
bantime: 如果先設定local.x = 100 然後才設定parent 10/18 22:49
bantime: 如果parent沒有parent了 且 parent的local.x = 100 10/18 22:50
bantime: 則設置完parent後 local.x就會變成0y 10/18 22:50
wix3000: localPos = transform.position - parent.transform.pos 10/18 23:02
bill42362: 感謝,終於搞懂了 QQ 10/25 14:44