Могу ли я сделать один и тот же SKScene одновременно двумя разными видами? - PullRequest
0 голосов
/ 21 июня 2019

Я хочу отобразить два SpriteKit SKView одновременно, которые имеют общий SKScene. Мне бы хотелось, чтобы каждый SKView показывал отдельную часть сцены (например, из другого SKCameraNode). Возможно ли это?

То, что я пробовал: Я создал два SKView s и вызвал .presentScene(mySharedScene) на обоих из них. Я могу визуализировать эти виды одновременно, и анимации работают просто отлично. Но поскольку положение камеры задается на самом SKScene через свойство .camera, я не могу назначить разные камеры для каждого SKView.

В конечном счете, я хотел бы создать простой прыгающий шар, который использует физический движок SpriteKit. Каждый SKView будет отображаться на отдельном физическом мониторе, и мяч должен иметь возможность отскакивать между ними. Я делаю это исключительно как учебное упражнение.

1 Ответ

1 голос
/ 21 июня 2019

Да, вы можете, я делал разделенные экраны раньше, но позвольте мне сказать вам. Это настоящая боль. Все ваши обновления вызываются дважды, поэтому вам нужно будет разработать систему, которая будет работать на них. Вместо этого я рекомендую скопировать вашу сцену в свой 2-й вид, а затем обновить камеру на новое место.

func didFinishUpdate()
{
   let copy = scene.copy()!
   view2.presentScene(copy)
   copy2.camera!.position = newPosition
}
...