Кварцевый масштабный спрайт, вертикальный диапазон, но не горизонтальный, когда вы переходите в полноэкранный режим / увеличиваете размер окна

Я создал Quartz композицию для использования в программе MAC OS как часть моего интерфейса. Я полагаюсь на тот факт, что когда у вас есть движение составного спрайта (точка текста в моем случае) ограничено как в плоскости X, так и в плоскости Y минимальным -1 и максимальным +1.

Когда я масштабирую окно / делаю окно полноэкранным, я обнаруживаю, что горизонтальная плоскость (ось X) остается той же, где -1 - моя крайняя левая точка, а +1 - моя крайняя правая точка. Однако вертикальная плоскость (ось Y) изменяется, в полноэкранном режиме она изменяется от -0,7 до +0,7.

Это масштабирование искажает мои расчеты. Есть ли способ заставить приложение сохранять масштаб от -1 до +1 для горизонтальной и вертикальной плоскостей? Или есть способ определения верхнего и нижнего пределов?

Цени любую помощь / указатели

1 ответ

Решение

Пределы Y Quar Composer Viewer обычно составляют -0,75 -> 0,75, но это только вопрос соотношения сторон. Пределы X всегда -1 -> 1, Y зависят от них.

Возможно, вы захотите динамически назначать таможенные переменные ширины и высоты, фиксируя размер границ контекста. Например:

double myWidth = context.bounds.size.width;
double myHeight = context.bounds.size.height;

Где "context" - это контекстный объект вашего зрителя.

Если вы работаете непосредственно со средством просмотра QC: вы должны использовать патч Rendering Destination Dimensions, который даст вам ширину и высоту. Разделите Высота на 2, затем умножьте результат на -1, чтобы получить другую сторону.

Другие вопросы по тегам