в качестве фона, давайте предположим, что у меня есть карта - буквально дорожная карта, отображаемая внутри моей SKScene. Дороги представлены SKShapenodes с путем, установленным для массива CGPoints. Я хочу, чтобы пользователь мог увеличивать и уменьшать масштаб, поэтому я создал узел камеры:
var cam: SKCameraNode = SKCameraNode()
и, поскольку пользователь хочет увеличивать / уменьшать масштаб, прокручивая трекпад:
let zoomInAction = SKAction.scale(to: CGFloat(scale), duration: 0.0)
camera?.run(zoomInAction)
Это прекрасно работает, однако у меня есть дополнительная сложность, с которой я не знаю, как справиться. Я хочу, чтобы некоторые узлы (например, метки названий дорог, значки, условные обозначения на карте) были освобождены от масштабирования, чтобы при увеличении / уменьшении пользователя метка названия дороги оставалась того же размера, а форма дороги пропорционально масштабировалась.
Не знаете, как с этим справиться? Могу ли я иметь иерархию сцен, чтобы один слой масштабировался, а другой не масштабировался? Этого можно достичь, подключив узел камеры к «масштабируемому» слою? Любая помощь приветствуется!