Страница 1 из 1

Как привязать канвас к центру экрана?

СообщениеДобавлено: 25 май 2017, 09:59
talion
У меня есть канвас, который программно меняет свой размер, однако, так и не смог понять как привязать центр канваса к центру экрана. В ручную когда перемещаешь канвас в центр экрана возникают вспомогательные полосы, которые позволяют поставить его точно в центр.

Как получить эту координату центра экрана и туда переместить центр канваса?

Re: Как привязать канвас к центру экрана?

СообщениеДобавлено: 25 май 2017, 11:21
seaman
Может будет достаточно включить режим ScreenSpace - Camera?

Re: Как привязать канвас к центру экрана?

СообщениеДобавлено: 25 май 2017, 11:21
Valentinus
как понимаю - якоря конваса поставьте в центр.

Re: Как привязать канвас к центру экрана?

СообщениеДобавлено: 25 май 2017, 13:17
talion
seaman писал(а):Может будет достаточно включить режим ScreenSpace - Camera?

И так включено.
Valentinus писал(а): как понимаю - якоря конваса поставьте в центр.

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

Re: Как привязать канвас к центру экрана?

СообщениеДобавлено: 25 май 2017, 14:16
Valentinus
talion писал(а):
И что это даст? Мне нужно переместить в центр канвас с помощью метода, потому что до вызова метода я не знаю какого размера будет канвас. Т.е. я, например, растянул программно канвас вниз, а теперь мне нужно его передвинуть так, чтобы его центр совпадал в центром экрана.


если очень заморочиться, то можно получить размер экрана можно через Screen.height и Screen.width, поделите пополам - это будет центр. а потом двигать ваш канвас через получение RectTransform и его transform.Translate(...);

а можно попробовать поставить привязку pivota 0.5/0.5, сдвинуть якоря в центр, и тогда будете двигать канвас в 0,0 и он будет в центре.

Re: Как привязать канвас к центру экрана?

СообщениеДобавлено: 25 май 2017, 15:24
seaman
И так включено.

Тогда что Вы вообще меняете? Если включен ScreenSpace - Camera и указана камера, то размеры канваса автоматом подстраиваются под камеру. И центр его соответствует центру камеры тоже автоматом.
Я конечно программист и не исследовал всех тонкостей UI, но у меня канвас ведет себя именно так. Меняю разрешение камеры - он подстраивается.
Если Вы хотите сами менять размеры канваса нужно ставить "WorldSpace"
Да, если вы пытаетесь меняеть чтобы UI соответствовал экрану нужно в CanvasScaler поставить "Scale with Scree size"

Re: Как привязать канвас к центру экрана?

СообщениеДобавлено: 25 май 2017, 15:31
Valentinus
seaman писал(а):
И так включено.

Тогда что Вы вообще меняете? Если включен ScreenSpace - Camera и указана камера, то размеры канваса автоматом подстраиваются под камеру. И центр его соответствует центру камеры тоже автоматом.


может у него канвас в канвасе

Re: Как привязать канвас к центру экрана?

СообщениеДобавлено: 25 май 2017, 15:40
talion
Valentinus писал(а):может у него канвас в канвасе

Именно так.