在Unity中实例化预制



我正在unity中实例化一个预制面板,并将其设置为另一个面板的父面板,如下所示:

GameObject notificationPanel = (GameObject) Resources.Load("NotificationWindow");
Text notificationText = notificationPanel.GetComponentInChildren<Text>();
if (notificationType == NotificationType.Warning)
{
    notificationText.color = Color.red;
}
notificationText.text = text;
GameObject newNotificationWindow =
(GameObject) Instantiate(notificationPanel, new Vector3(0, 0, 0), Quaternion.identity);   
newNotificationWindow.transform.SetParent(Settings.NotificationHolder.transform);

然而,当实例化它与一个疯狂的大小,父面板有一个布局组与固定大小的单元格的内部,为什么这不会影响它?新的面板比我的屏幕大10倍左右。在层次视图中,新面板显示为父面板下的子面板。另外,"z"的位置在- 3900左右,为什么?

所以在阅读了Unity文档:实例化UI元素之后,你所要做的就是调用:

newNotificationWindow.transform.SetParent(Settings.NotificationHolder.transform, false);

"false"代表的是worldPositionStays参数,它会缩放UI。

让我知道这是否适合你

相关内容

  • 没有找到相关文章

最新更新