Адаптация UI под любые экраны - unity

109
20 марта 2022, 10:40

Есть slider, который находится над передвигающимся объектом. Сделал я это так:

 Vector3 ZomPos = Camera.main.WorldToScreenPoint(gameObject.transform.position);
m_RectTransform(slider).anchoredPosition = new Vector2(ZomPos.x, ZomPos.y);

Но в таком случае slider всё равно находится не ровно на объекте, а сдвигается влево, вверх, хоть и передвигается вместе с объектом. Исправил я это тем, что уменьшил ZomPos так, чтобы слайдер стоял ровно надо объектом. Но на других экранах это работает не корректно и не ровно. Как мне сделать так, чтобы slider стоял ровно над объектом при любом экране.

Answer 1
static public class CanvasHelper {
    static public Canvas Canvas;
    static public Vector2 CanvasSize;
    static CanvasHelper {
        UpdateCanvas();
    }
    static public void UpdateCanvas () {
        Canvas = GameObject.Find("Canvas").GetComponent<Canvas>();
        CanvasSize = canvas.gameObject.GetComponent<RectTransform>().sizeDelta;
    }
    static public Vector2 WorldToCanvasPosition (GameObject obj) {
        Vector2 ViewPos = Camera.main.WorldToViewportPoint(obj.transform.Position);
        ViewPos -= new Vector2(0.5f, 0.5f);
        return new Vector2(ViewPos.x*CanvasSize.x, ViewPos.y*CanvasSize.y);
    }
}
READ ALSO
Ошибка при преобразовании значений textBox

Ошибка при преобразовании значений textBox

У меня на форме есть textBox1 и textBox2, в которых выводится информация о выбранном предметеМне нужно, чтобы на этой же форме в textBox3 выводился результат...

95
Есть ли в С# WPF string resources файл?

Есть ли в С# WPF string resources файл?

Есть ли возможность поместить все стринги в отдельный файл и присваевать его значения как ресурс в каждом месте где нужно?

208
Смена картинки при нажатии кнопки. Кнопок много

Смена картинки при нажатии кнопки. Кнопок много

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

68
Как реализовать метод ToType интерфейса IConvertable?

Как реализовать метод ToType интерфейса IConvertable?

Я бы хотел увидеть пример реализации для любой пользовательской структуры

170