Проверьте, содержит ли представление SKCameraNode узел определенного класса?

SKCameraNode имеет два метода для проверки видимости узла внутри его видового экрана. (.containsNode () и .containedNodeSet ()) Первый возвращает bool, и это то, что я ищу. Проверка на один объект узла работает нормально.

if myCamera.containsNode(mySpriteNode) == false {} 

Но я хочу проверить, содержит ли он в нем узлы класса.

 if myCamera.containsNode(MyClass()) == false {} 

Поскольку это не работает, мне интересно, как это будет сделано. Спасибо.

Вам нужно посмотреть на другой метод, который вы упомянули, containedNodeSet(). Это вернет Set<SKNode> который вы можете проверить, как хотите, например:

 for node in cameraNode.containedNodeSet() { if let interestingNode = node as? InterestingClass { // Do something useful here } }