mwk*_*mwk 10 unity-game-engine
(使用Unity 4.6.0b20)
在编辑器中添加预制按钮大小时,我遇到了一个问题,但在脚本添加时似乎忽略了参考分辨率.
这使用具有参考分辨率1280x720和MatchWidthOrHeight的Canvas.Canvas具有按钮的面板垂直布局组.Button具有首选宽度/高度,并保存为预制件,因此可以在运行时从资产创建新实例.

在编辑器中,我可以将预制件拖动到场景中以向面板添加实例,该面板也具有宽度102,并且它们可以很好地堆叠和缩放:

但是当我通过脚本将预制件的新实例添加到面板时,它们显示的尺寸错误.看看尺寸,我的猜测是102像素尺寸没有被参考分辨率缩放:

脚本代码通过GameObject.Instantiate()创建实例,并通过设置transform.parent添加到Panel:
GameObject uiInstance = (GameObject)GameObject.Instantiate(Resources.Load<GameObject>(assetPath));
uiInstance.transform.parent = unitButtonsPanel.transform;
Run Code Online (Sandbox Code Playgroud)
我假设将Button添加到Panel时需要做的更多,而不仅仅是设置Parent,或者它是测试版的bug ...
建议?
Rod*_*Rod 27
使用transform.SetParent方法在第二个参数中传递false:
transform.SetParent(transform, false);
Run Code Online (Sandbox Code Playgroud)
这样您就可以防止世界定位和缩放.您可以在统一手册中找到更多信息,搜索"UICreateFromScripting".
| 归档时间: |
|
| 查看次数: |
14192 次 |
| 最近记录: |