Рендеринг в данный момент на экранных узлах в SpriteKit - PullRequest
0 голосов
/ 02 июля 2018

Я очень новичок в SpriteKit и разработке игр в целом, поэтому я постараюсь сформулировать это как можно лучше.

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

Я пытался добавить код в методе update в GameScene.swift, похожий на:

if powerUp {
    for node in allNodesOnScreen {
        let nodeForEdit = node.childNode(withName: "nodeName") as? SKEffectNode
        for i in 0...3 {
            // Draw circle here (circle is in three parts)


            nodeForEdit?.addChild(circle)

        }
    }
}

Примечание: allNodesOnScreen - это массив, который я добавляю, когда рисую новые узлы на экране

Мне не удалось заставить это работать так, как я надеялся, и я играл с ним, поскольку у меня возникали сбои при добавлении узлов в качестве детей, у которых уже есть родители (предположительно, потому что они уже нарисованы на экране) с родителем).

Я очень хорошо знаю, что могу сильно усложнить это, но любая помощь будет очень признательна, и я рад предоставить больше информации о том, что я пробовал, если это поможет прояснить ситуацию.

...