Size: a a a

2021 February 10

U

Uamgl in unity3d.ru
Dmitry Glazunov
ты скейл меняешь, так не надо делать.
Так они очень большие получаются
источник

FH

Fractal🏴 Hater🏴... in unity3d.ru
Привет всем. Есть вопрос.

По какой причине может не срабатывать код:
if (gameObject.transform.position.Equals(endPosition))

Делаю по гайду,  код идентичный, в гайде все работает.

Объект должен двигаться от точки к точке, при достижении endPosition (точка, к которой в текущее время идёт движение) должен сработать код, который идёт после if. Но при достижении этой точки объектом ничего не происходит, он просто зависает на этом месте
источник

U

Uamgl in unity3d.ru
Саша Коробко
скорее всего реально под размеры картинки anchorы стоят
Да
источник

FH

Fractal🏴 Hater🏴... in unity3d.ru
вот весь код в целом
источник

СК

Саша Коробко... in unity3d.ru
энхоры со скейлами плохо работают, только если это привязка под динамичный объект
источник

СК

Саша Коробко... in unity3d.ru
а если привязка к точке, то скейлы особо ни на что не влияют
источник

СК

Саша Коробко... in unity3d.ru
но советую в ui вообще никогда не менять скейл
источник

СК

Саша Коробко... in unity3d.ru
только в самых крайних случаях
источник

СК

Саша Коробко... in unity3d.ru
когда это прям надо
источник

DG

Dmitry Glazunov in unity3d.ru
Uamgl
Так они очень большие получаются
https://docs.unity3d.com/2020.1/Documentation/Manual/UIBasicLayout.html есть инструмент называется rect tool через него можно уменьшить размер UI элементов без скейла
источник

СК

Саша Коробко... in unity3d.ru
зажал лкм на краю спрайта + shift + alt = то же самое
источник

A

Andrew in unity3d.ru
Fractal🏴 Hater🏴
вот весь код в целом
Может быть дело в неточности. Условно отличаются позиции на 0.000001. Попробуй округлить сначала.
источник

u

upx in unity3d.ru
Fractal🏴 Hater🏴
Привет всем. Есть вопрос.

По какой причине может не срабатывать код:
if (gameObject.transform.position.Equals(endPosition))

Делаю по гайду,  код идентичный, в гайде все работает.

Объект должен двигаться от точки к точке, при достижении endPosition (точка, к которой в текущее время идёт движение) должен сработать код, который идёт после if. Но при достижении этой точки объектом ничего не происходит, он просто зависает на этом месте
Значение позиции точно становится как endPosition? Может ошибка float мешает?
источник

СК

Саша Коробко... in unity3d.ru
используй Vector2.Distance
источник

СК

Саша Коробко... in unity3d.ru
проверяй, если он меньше, чем 0.001, например, то это значит, что объект достиг точки
источник

P

Phantom in unity3d.ru
Uamgl
Всем привет! не понимаю как решить данную проблему. На сцене кнопки просто шикарно расставлены а вот при билде и запуске на телефоне они уменьшаются. Как это решить?
Цвета лучше поменять
источник

СК

Саша Коробко... in unity3d.ru
Саша Коробко
проверяй, если он меньше, чем 0.001, например, то это значит, что объект достиг точки
если хочешь, чтобы идеально в нужную точку прилетал - просто потом ему координаты этой точки присваивай
источник

u

upx in unity3d.ru
Лучше sqrMagnitude. А еще лучше утилиту DoTween
источник

FH

Fractal🏴 Hater🏴... in unity3d.ru
upx
Значение позиции точно становится как endPosition? Может ошибка float мешает?
О, действительно, оказалось что Z координата конечной позиции была отрицательно, в то время как у объекта 0
источник

FH

Fractal🏴 Hater🏴... in unity3d.ru
спасибо
источник