Итак, я работал над проектом для класса, в котором я находился, и столкнулся с рассолом, который я, похоже, не могу решить. Я спросил инструктора, и он был смущен, как и я.Unity 5.4.2 - Элементы пользовательского интерфейса с масштабированием и позицией
Прямо сейчас я только что пытался создать простой пользовательский интерфейс для отображения списка кнопок для выбора уровня загрузки. Во время выполнения код просто создает соответствующие кнопки и т. Д. И помещает их в объект содержимого scrollview. Достаточно просто, не так ли? Хорошо, as you can see позиция и право совершенно неправильные, 800 единиц.
The Canvas установлен на Screen Space - Overlay и Canvas скалер устанавливается в масштабе с размером экрана, который я предполагаю, что это проблема. У меня уже была проблема с тем, что положение и масштаб еще больше отключены (в зависимости от размера экрана), но «исправлены», если вручную установить положение трансформатора и локальную шкалу.
Мне, однако, не повезло найти решение этого вопроса, со всем моим поисковым движком, поэтому я был бы очень благодарен, если бы кто-то помог мне с этим и объяснил мне, в чем проблема.
Вот код, который он выполняет для каждого уровня. Это, конечно, грязно, потому что я старался изо всех сил, чтобы понять, в чем проблема.
Level thisLevel = levelManager.levelList [i];
GameObject levelButton = (GameObject)Instantiate (menuManager.levelButtonContainerObject);
levelButton.transform.SetParent (menuManager.mainMenuLevelContainer.transform, false);
levelButton.transform.position = Vector3.zero;
levelButton.transform.localPosition = Vector3.zero;
levelButton.transform.localScale = Vector2.one;
RectTransform levelButtonRect = levelButton.GetComponent<RectTransform>();
// levelButtonRect.position = ApplyCanvasScale (new Vector3 (0f, -50 + (-100 * i), 0f));
levelButtonRect.position = new Vector3(0f, -50 + (-100 * i), 0f);
// levelButtonRect.position = Vector3.zero;
levelButtonRect.sizeDelta = new Vector2 (0f, 100f);
Debug.Log ("Position " + levelButtonRect.position + ", Scale " + levelButtonRect.sizeDelta);
я, возможно, ответил преждевременно. Являются ли кнопки родительскими для VerticalLayoutGroup? –
Как вы привязываете объект ui? это центр или растянутый или ...? – Bijan