SkCamera Node имеет неоднозначные размеры?

В настоящее время я работаю над игрой Spritekit с SKCameraNode, позволяющей игроку взглянуть на стратегическую карту. Я пытаюсь реализовать HUD путем добавления дочерних узлов в SKCameraNode, но я столкнулся с проблемой, касающейся того, как следует устанавливать координаты дочерних узлов.

Я инициализирую свою игровую сцену так:

    mainScene = GameScene(size: self.view.bounds.size)
    main = view as! SKView

    mainScene.panRecognizer = UIPanGestureRecognizer(target: self, action: #selector(shiftView(recognizer:)))
    main.addGestureRecognizer(mainScene.panRecognizer)

    mainScene.tapRecognizer = UITapGestureRecognizer(target: self, action: #selector(testTap(recognizer:)))
    main.addGestureRecognizer(mainScene.tapRecognizer)

    mainScene.pinchRecognizer = UIPinchGestureRecognizer(target: self, action: #selector(zoomView(recognizer:)))
    main.addGestureRecognizer(mainScene.pinchRecognizer)

    let viewSize = mainScene.size
    mainScene.tempGameBoard.boardCamera.createHUD(size: viewSize, for: mainScene.tempGameBoard.boardCamera.xScale)
    print("cameraframe: \(mainScene.tempGameBoard.boardCamera.frame)")

    main.showsFPS = true
    main.showsNodeCount = true
    main.showsDrawCount = true
    mainScene.scaleMode = .aspectFill
    main.presentScene(mainScene)

Тестируя на iPhone 7, я печатаю игровой размер сцены и получаю (375, 667) и тогда моя камера (667, 375, 0, 0)

Но, тестируя на iPhone SE, я распечатываю размер игровой сцены и получаю результат (320, 568) пока остается кадр камеры (667, 375, 0, 0)

Кажется, неважно, на каком устройстве я тестирую, изменяется игровая сцена, но рамка камеры того же размера. Это смущает меня бесконечно. Откуда камера получает параметры кадра??

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

Цени любую помощь! Спасибо

0 ответов

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