C# 在Unity中实例化预置
我正在unity中实例化一个预制面板,并将其设置为另一个面板的父面板,如下所示:C# 在Unity中实例化预置,c#,user-interface,unity3d,panel,C#,User Interface,Unity3d,Panel,我正在unity中实例化一个预制面板,并将其设置为另一个面板的父面板,如下所示: GameObject notificationPanel = (GameObject) Resources.Load("NotificationWindow"); Text notificationText = notificationPanel.GetComponentInChildren<Text>(); if (notificationType == NotificationType.Warnin
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);
GameObject notificationPanel=(GameObject)Resources.Load(“NotificationWindow”);
Text notificationText=notificationPanel.getComponentChildren();
if(notificationType==notificationType.Warning)
{
notificationText.color=color.red;
}
notificationText.text=文本;
GameObject newNotificationWindow=
(游戏对象)实例化(notificationPanel,新矢量3(0,0,0),四元数.identity);
newNotificationWindow.transform.SetParent(Settings.NotificationHolder.transform);
然而,当实例化它时,它的大小是疯狂的,父面板有一个布局组,其中单元的大小是固定的,为什么这不会影响它?新的面板大约比我的屏幕大10倍。在层次视图中,新面板将作为子面板正确显示在其父面板下。而且“z”的位置大约是-3900为什么?所以在阅读完之后,你所要做的就是调用:
newNotificationWindow.transform.SetParent(Settings.NotificationHolder.transform, false);
“false”表示worldPositionStays参数,这将缩放UI
让我知道这是否适合您。您的预制件正确吗?另外,您的newNotification的父级设置是否正确?您是否完全阅读了我的问题@Cabrra?是的,他们都是对的。