Его всегда хорошая практика, чтобы опубликовать некоторый код того, что вы пробовали раньше, задавая вопрос о переполнении стека. Люди, как правило, не помогают, когда вы не показываете код.
Поскольку вы не можете одновременно запускать несколько SKScenes, и сцены начинаются в чистом состоянии (если вы не архивируете всю сцену), вам больше всего придется использовать текущую настройку для фона прокрутки и использовать ее для всех сцены. Вы можете использовать расширения протокола или подклассы для совместного использования кода.
Как указано в KingOfDragon, вы можете попробовать играть с помощью SKTransitions, например pushInDirection, чтобы получить желаемый результат.
Если это не работает, и вы хотите, чтобы фон прокрутки возобновлялся в точном месте на новой сцене, вы могли создать некоторое свойство, которое сохраняет текущую позицию фона перед сменой сцены. Затем после смены сцены вы устанавливаете фон в новое положение, чтобы оно выглядело одинаково.
Я не уверен, что ваши настройки, но в верхней части, если моя голова это может быть что-то вроде этого
Создать глобальное свойство выше любого класса сцены
let bgPosition = CGPoint()
чем создать продление протокола для вашего прокрутки фона кода, чтобы сделать его многоразовым
protocol ScrollingBackground { }
extension ScrollingBackground where Self: SKScene {
func loadScrollingBackground(at position: CGPoint) {
/// your code for the scrolling background
/// set position to position you pass in function
}
чем в первой сцене вы соответствовать протоколу и установить прокрутку фон, как обычно. Затем добавьте метод WillMoveFromView, который вызывается при смене сцены. Там свойство bgPosition добавлено к вашей последней позиции фона прокрутки.
class Scene1: SKScene, ScrollingBackground {
....
let backgroundPosition = ....
loadScrollingBackground(at: backgroundPosition)
override func willMoveFromView(view: SKView) {
bgPosition = ... //Set to current position of scrolling background
}
}
чем в других ваших сценах вы делаете то же самое, но передать в собственность bgPosition (как упоминалось выше), чтобы установить фон в положение это было в СЦЕНЫ1.
class Scene2: SKScene, ScrollingBackground {
....
loadScrollingBackground(at: bgPosition)
}
Не уверен, что это именно то, что вы ищете, но что-то вроде этого, вероятно, самый простой способ.
Надеется, что это помогает
Вы можете иметь 2 сцены, выполняющуюся в то же самое время, когда происходит переход, так что если вы делаете это правильно, вы можете добиться того, что ОП хочет – Knight0fDragon
Моего предположение состоит в использовании 'SKTransition.pushWithDirection' для достичь желаемого эффекта, который он собирается для – Knight0fDragon
Это правда, я забыл о переходах сцены. Я просто снимал в темноте, не уверен, как ОП установил свой прокручивающий фон. – crashoverride777