作者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/cn.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