作者bill42362 (酒池肉林夜夜生科)
看板GameDesign
標題[程式] 請問程式設定 ngui 按鈕大小
時間Sat Oct 17 22:57:27 2015
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://webptt.com/m.aspx?n=bbs/GameDesign/M.1445093852.A.64D.html
1F:推 wix3000: 再補一句transform.localPosition不就好了 XD 10/17 23:06
2F:→ bill42362: 阿!真的耶!! 這層層疊疊的真難懂... 10/17 23:10
3F:→ bill42362: 另外請問,那個預設的 (150, 40) 是怎麼來的? 感謝 QQ 10/17 23:11
4F:推 wix3000: NGUI不熟 應該是因為他的prefab就是150,40吧 10/18 00:08
5F:→ bantime: 你在設定好座標後 有沒有改它的parent 10/18 19:52
6F:→ bantime: 把prefabs Clone出來的順序 應該是先instantiate 10/18 19:54
7F:→ bantime: 設定parent 然後設定座標以及scale 10/18 19:54
8F:→ bantime: 而且你在code裡面設定position的值不一定會等於 10/18 19:55
9F:→ bantime: 你在UnityInspector看到的 10/18 19:57
10F:→ bantime: UnityInspector的position是localposition 10/18 19:58
11F:→ bill42362: 我是用b大的順序設定的沒錯,目前先暫時用 localPos 10/18 22:39
12F:→ bill42362: 不過搞不清楚 pos -> localPos 的機制實在有點不安心 10/18 22:39
13F:→ bantime: local是自身座標 如果local.x = 100 10/18 22:45
14F:→ bantime: 它的parent的local.x是-100 而且已經沒有parent了 10/18 22:46
15F:→ bantime: 那它的pos.x 就會是 0 10/18 22:46
16F:→ bantime: 如果先設定local.x = 100 然後才設定parent 10/18 22:49
17F:→ bantime: 如果parent沒有parent了 且 parent的local.x = 100 10/18 22:50
18F:→ bantime: 則設置完parent後 local.x就會變成0y 10/18 22:50
19F:推 wix3000: localPos = transform.position - parent.transform.pos 10/18 23:02
20F:→ bill42362: 感謝,終於搞懂了 QQ 10/25 14:44