Показать сообщение отдельно
Старый 10.11.2015, 05:04   #8
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Проделки позиции элемента GUI

Итак, господа!

Указывать transform.position, как оказалось, это совсем не про то, получается совсем не то, что надо.
Чтобы добиться результата, надо указывать anchoredPosition, который есть у компонента RectTransform. Он, хоть и наследник Transform, но просто по .transform до него не достучаться, нужно "по матчасти" вызывать его через GetComponent.
Собственно решение:

// Инстансим UI элемент
GameObject attackButton = (GameObject)GameObject.Instantiate(Resources.Load("Prefabs/GUI/DummySkills/Attack"typeof(GameObject)));
// Получаем его компонент RectTransform 
RectTransform attackTransform attackButton.GetComponent<RectTransform>();

// Задаём парента
attackTransform.SetParent(GameObject.Find("UI").transform);
// Задаём позицию
attackTransform.anchoredPosition = new Vector2(500,-200);

// Теперь позиция задаётся корректно! 
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
impersonalis (10.11.2015), Жека (10.11.2015)