(使用Unity 4.6.0b20)
我遇到了一个问题,当通过编辑器添加预制按钮时,它的大小可以正确工作,但是当通过脚本添加时似乎会忽略“参考分辨率”。
这个场景使用的是Canvas组件,参考分辨率为1280x720,并启用了“宽度或高度匹配”选项。Canvas上有一个Panel垂直布局组,用于管理按钮。每个按钮都有首选宽度/高度,并作为预制保存以便在运行时从资源中创建新实例。
在编辑器中,我可以将该预制拖动到场景中以向面板添加实例,它们会很好地堆叠和缩放:
但是,如果我通过脚本添加预制的新实例到Panel,则它们的大小会不正确。根据尺寸来看,我猜测102像素大小没有按比例缩放参考分辨率:
脚本代码通过GameObject.Instantiate()创建实例,并通过设置transform.parent将其添加到Panel中:
GameObject uiInstance = (GameObject)GameObject.Instantiate(Resources.Load<GameObject>(assetPath));
uiInstance.transform.parent = unitButtonsPanel.transform;
我认为在将按钮添加到面板时,除了设置父级之外,可能还需要完成更多工作,或者这是测试版存在的错误...
有什么建议吗?