Позиционирование SKCameraNode на Mac: не сетчатка против сетчатки - PullRequest
0 голосов
/ 01 июля 2018

У меня есть игра, которую я портирую с iOS на MacOS. На iOS все работает как должно на устройствах с сетчаткой и без сетчатки. На Mac это другая история.

У меня есть два свойства класса: upperCameraPos и ​​lowerCameraPos

Игра находится в окне, а сцена вдвое больше высоты представления этого окна (SKView). Когда начинается игра узел камеры расположен в lowerCameraPos, показывая нижнюю половину сцены. Когда кнопка нажата, SKAction's moveToPoint: метод используется для прокрутки сцены вверх, показывая верхнюю половину. На Retina и 4K Mac это работает как положено.

Однако на компьютерах без сетчатки (протестировано на MacBook конца '07 и конца '08) тот же код для установки начального положения камеры не раскрывает нижнюю половину сцены, а показывает середину сцена (которая является положением камеры по умолчанию).

Я провел значительный поиск и не нашел объяснения этому. Кто-нибудь знает, есть ли какие-либо проблемы между сетчаткой и не сетчаткой при размещении узла камеры в сцене на Mac?

1 Ответ

0 голосов
/ 03 июля 2018

Я понял, что я делаю неправильно. У меня был установлен режим масштабирования сцены SKSceneScaleModeAspectFill. После изменения режима масштабирования на SKSceneScaleModeResizeFill, узел камеры теперь масштабируется до правильных частей сцены независимо от того, является ли экран сетчаткой или нет.

...