[Решено] Координаты в экране для элемента UI

Графический интерфейс пользователя

[Решено] Координаты в экране для элемента UI

Сообщение Woolf 14 сен 2015, 20:12

Народ, а как узнать координаты объекта UI в экранных координатах? Ну вот кнопка стоит где-то в углу, она там является пятым ребенком чьим-то, как узнать её реальные координаты?
Последний раз редактировалось Woolf 14 сен 2015, 21:00, всего редактировалось 1 раз.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Координаты в экране для элемента UI

Сообщение BornFoRdeatH 14 сен 2015, 20:23

http://docs.unity3d.com/ScriptReference ... ility.html

UPD. Былин, не задокументировано... RectTransformUtility.WorldToScreenPoint()
Не бойся, если ты один, бойся, если ты ноль.
BornFoRdeatH
Адепт
 
Сообщения: 2377
Зарегистрирован: 22 окт 2011, 23:41
Откуда: Украина
Skype: bornfordeath

Re: Координаты в экране для элемента UI

Сообщение Woolf 14 сен 2015, 20:46

Не, это же для мирового канваса, а мне для канваса ScreenSpace.
Короче, задумка у меня такая - есть панелька из нового гуя, хочу на ней рисовать старым гуем. Для сего нужны координаты, где эта панелька расположена в координатах старого гуя.

Вроде как вот это то, что я хочу
PixelAdjustRect Given a rect transform, return the corner points in pixel accurate coordinates.
но оно выдает какие-то координаты близкие к нулю.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Координаты в экране для элемента UI

Сообщение BornFoRdeatH 14 сен 2015, 20:50

Если оверлей то вроде достаточно мировых координат.
Не бойся, если ты один, бойся, если ты ноль.
BornFoRdeatH
Адепт
 
Сообщения: 2377
Зарегистрирован: 22 окт 2011, 23:41
Откуда: Украина
Skype: bornfordeath

Re: Координаты в экране для элемента UI

Сообщение Woolf 14 сен 2015, 20:52

BornFoRdeatH писал(а):Если оверлей то вроде достаточно мировых координат.

если панелька сразу в чилде канваса, то да, достаточно, а если она в чилде в пятом колене, то нет, там локальные вроде координаты.

UPD а нет, глобальные. Только вертикальную координату инвертнуть надо было.

Вот так работает
Синтаксис:
Используется csharp
 Vector2 rcrd = new Vector2(rect.position.x, Screen.height-rect.position.y);

спасибо..
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: [Решено] Координаты в экране для элемента UI

Сообщение BornFoRdeatH 14 сен 2015, 21:05

ну по сути...

Синтаксис:
Используется csharp
   public static Vector2 WorldToScreenPoint(Camera cam, Vector3 worldPoint)
    {
      if ((Object) cam == (Object) null)
        return new Vector2(worldPoint.x, worldPoint.y);
      return (Vector2) cam.WorldToScreenPoint(worldPoint);
    }
 
Не бойся, если ты один, бойся, если ты ноль.
BornFoRdeatH
Адепт
 
Сообщения: 2377
Зарегистрирован: 22 окт 2011, 23:41
Откуда: Украина
Skype: bornfordeath


Вернуться в uGUI

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2