Как через скрипт поменять позицию компонента RectTransform

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

Как через скрипт поменять позицию компонента RectTransform

Сообщение Shakhban 03 дек 2018, 02:19

Привет, в канвасе есть картинка, нужно чтобы при нажатии на кнопку картинка переместилась, нужно менять позицию, не вращать, а перемещать, как можно через код все это дело реализовать?

Пример:
Public RectTransform Obj;

хочу у Obj менять позицию, а именно двигать Obj по осям: Left, Right, Top , Bottom , раньше вместо этих Left, Bottom, были X и Y итд.
Shakhban
UNIт
 
Сообщения: 62
Зарегистрирован: 01 ноя 2017, 04:33

Re: Как через скрипт поменять позицию компонента RectTransform

Сообщение lawson 03 дек 2018, 06:48

Синтаксис:
Используется csharp
obj.transform.localPosition = new Vector2(100, 100);
lawson
UNIверсал
 
Сообщения: 481
Зарегистрирован: 14 сен 2012, 21:20

Re: Как через скрипт поменять позицию компонента RectTransform

Сообщение DimaJoke 03 дек 2018, 18:23

Попробуй где transform.position написать RectTransform.position, если честно-хз, как это именно надо в коде писать, но типо того.
Что бы повзрослеть, человек должен преодолеть ошибки юности.

Поэтому я снова здесь..
Аватара пользователя
DimaJoke
UNITрон
 
Сообщения: 293
Зарегистрирован: 12 авг 2018, 18:59
Откуда: Ульяновск
  • Сайт

Re: Как через скрипт поменять позицию компонента RectTransform

Сообщение Shakhban 04 дек 2018, 00:39

не выходит, даже пробовал obj.rect.Set (100,19,18,0); все равно ничего не работает, а obj.transform.localposition работает неправильно, на оф сайте про этот компонент ничего, только написано про якоря и прочью дичь которая уже устарела
Shakhban
UNIт
 
Сообщения: 62
Зарегистрирован: 01 ноя 2017, 04:33

Re: Как через скрипт поменять позицию компонента RectTransform

Сообщение Anonymyx 04 дек 2018, 01:11

С каких пор якоря устарели?
То что вы видите в инспекторе - значения смещения элемента относительно якоря, который вы установили. Установите якорь в центр, тогда вернутся Х и Y.
А раз там смещения, то очевидно за эти значения отвечают поля rectTransform.offsetMin и offsetMax.
Аватара пользователя
Anonymyx
Адепт
 
Сообщения: 1973
Зарегистрирован: 05 апр 2015, 15:55

Re: Как через скрипт поменять позицию компонента RectTransform

Сообщение Shakhban 04 дек 2018, 02:02

я хотел сказать что там про якоря, и про те вещи которые уже устарели, у них на скринах одно, а у меня в инспекторе другое
Shakhban
UNIт
 
Сообщения: 62
Зарегистрирован: 01 ноя 2017, 04:33

Re: Как через скрипт поменять позицию компонента RectTransform

Сообщение Friend123 04 дек 2018, 08:09

Буквально недавно мне нужно было двигать Image в Canvas'е, с учетом всех якорей и прочего.
Помогло это: https://docs.unity3d.com/ScriptReference/RectTransform-anchoredPosition.html
Аватара пользователя
Friend123
Старожил
 
Сообщения: 701
Зарегистрирован: 26 фев 2012, 22:12
Откуда: Тверь
  • ICQ

Re: Как через скрипт поменять позицию компонента RectTransform

Сообщение Shakhban 04 дек 2018, 21:23

Вопрос закрыт, я разобрался с этим, как всегда методом тыка
Shakhban
UNIт
 
Сообщения: 62
Зарегистрирован: 01 ноя 2017, 04:33

Re: Как через скрипт поменять позицию компонента RectTransform

Сообщение Friend123 04 дек 2018, 23:44

Shakhban писал(а):Вопрос закрыт, я разобрался с этим, как всегда методом тыка

Признак хорошего тона на форуме - это писать решение проблемы, вдруг кому пригодится, вас еще и поблагодарят
Аватара пользователя
Friend123
Старожил
 
Сообщения: 701
Зарегистрирован: 26 фев 2012, 22:12
Откуда: Тверь
  • ICQ


Re: Как через скрипт поменять позицию компонента RectTransform

Сообщение Alex777 30 апр 2021, 17:18

Shakhban писал(а):Вот тут всё,

https://answers.unity.com/questions/157 ... er-1577721


Вот кому-то и пригодилось!)) Спасибо!
Alex777
UNец
 
Сообщения: 6
Зарегистрирован: 15 дек 2020, 12:30


Вернуться в Почемучка

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

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