Я работаю над пользовательским интерфейсом, который должен работать в различных пропорциях, 16: 9, 16:10, 4: 3
Идея концептуально проста: все сосредоточено на экране в шероховатой области 4: 3, и все, что находится за пределами этой части экрана, имеет простую графику, поэтому что-то вроде этого:
(не в масштабе)
Где розовая область представляет место расположения всех объектов пользовательского интерфейса, а синяя область - только фон и эффекты.
Хитрость в удобстве использования, если я передам координаты (0,0) в среде с соотношением сторон 4: 3 (0,0) будет слева вверху экрана. Однако, если я нахожусь в среде 16: 9 (0,0) нужно перенормировать на основе нового соотношения сторон, чтобы оно находилось в соответствующем месте. Поэтому мой вопрос: как мне этого добиться?
edit: для пояснения это в основном для системы пользовательского интерфейса, и хотя я перечислил вышеупомянутые соотношения как 4: 3, 16: 9, 16:10, он должен иметь возможность динамически корректировать значения для любого соотношения сторон, для которого он установлен.
edit 2: Просто чтобы добавить больше подробностей к ситуации: когда переданы позиции для установки, они передаются в виде% от текущей высоты экрана, поэтому в основном установка позиции x будет: [pos x как часть экрана] * SCREEN_WIDTH где ширина экрана - это ширина самого текущего экрана.