Когда игра меняет уровни, у меня есть метод, который загружает новый фон, а также изменяет несколько глобальных свойств SKScene, то есть скорость врага и т. Д. Проблема в том, что я перерисовываю фон в новый уровень охватывает все остальные узлы (созданные в initWithSize). Есть ли работа или лучший подход к перерисовке фона?Размещение фонового узла охватывает все остальные уровни уровня уровня
ответ
Если я понимаю, что вы говорите, у вас есть уровень, который имеет фоновый узел и другие узлы, которые отображаются во время уровня. Когда вы меняете уровни, вы добавляете новый фон, предположительно, как ребенок SKScene, правильно?
Если это так, именно поэтому он охватывает все. Добавив его позже в дерево узлов, он набирается последним и, следовательно, покрывает все.
Есть несколько способов, вы можете справиться с этим:
-У другой сцены на уровень. Таким образом, каждая сцена является самодостаточной и не будет мешать содержимому другой сцены.
-removeAllChildren на SKScene, а затем добавить свой фон и все, что вам нужно для нового уровня.
-Если вы действительно хотели, вы могли бы просто заменить текстуру для исходного фона на более новый фон. Но если вы это сделаете, вам по-прежнему необходимо очистить старые узлы.
Наличие другой сцены, вероятно, лучший вариант из группы.
Спасибо, я создал с sktransistion экземпляр той же сцены, но передал уровень, который я хотел, как свойство нового экземпляра, загружаемого в initWithSelf, поэтому работал отлично. Также задался вопросом, может ли присвоение z позиции 0 может работать, но я не пытался его использовать. – dancingbush
Вы можете использовать zposition для управления порядком рисования. Но вам все равно нужно управлять узлами, добавляя или удаляя то, что необходимо. Например, если вы первоначально использовали zposition, фон выглядел бы корректно, однако на самом деле вы все равно имели бы 2 фоновых узла. И когда вы продолжите уровни, ваши фоны будут складываться. Поэтому, несмотря на это, потребуется некоторое управление узлами. Обычно я не использую zposition самостоятельно, поскольку я считаю, что обычно легко управлять чертежом по порядку узла. Это зависит от личных предпочтений. –