SpriteKit: SKSpriteNodes verschwinden nach einigen Sekunden aus SKEffectNode

8

Ich arbeite an einem Metaballs-Effekt in SpriteKit. Ich habe einen SKEffectNode mit einem Shader, der den Farbbereich seines Puffers komprimiert. Dieser Effektknoten hat einhundert SKSpriteNode als seine Kinder. Der Effekt funktioniert gut für ein paar Sekunden, aber plötzlich, über ein paar Frames, verschwinden alle Spritenodes vom Bildschirm, und die Anzahl der Knoten fällt von 100 auf 2 (ich denke, die 2 verbleibenden sind der Effektknoten) selbst, und die Kantenkette, die den Behälter bildet, um die Bälle zu halten?)

Wenn ich den Ball spritenodes direkt zum Rootnode der Szene hinzufüge, passiert das nicht. Nur wenn sie Kinder des Effektknotens werden, scheinen sie nach ein paar Sekunden aggressiv zu killen.

Interessanterweise (und das ist im Simulator sichtbar, wenn die Bildrate ziemlich niedrig ist) scheinen die SpriteNodes in der vertikalen Reihenfolge, in der sie gerade auf dem Bildschirm angezeigt werden, vom oberen Rand des Bildschirms bis zum unteren Rand auszuschneiden.

Wenn die Eigenschaft showsPhysics der Ansicht auf "true" gesetzt ist, kann ich sehen, dass die Physikkörper von SKSpriteNode immer noch auf dem Bildschirm angezeigt werden und sich herumrollen. Aber ihre visuelle Darstellung ist verschwunden, und die Knotenanzahl der Ansicht ist erschöpft. Laut der Dokumentation showsNodeCount "zeigt Physik Körper, die in der Szene sichtbar sind." Da die Knoten nicht mehr sichtbar sind, ist die Anzahl der Knoten gesunken.

Weiß jemand, was das verursachen könnte, oder welche Werkzeuge ich verwenden könnte, um es zu debuggen?

Standard SpriteKit iOS Swift 2.2 Xcode 7 Vorlage, ersetzen Sie die GameScene-Datei mit dieser:

%Vor%     
OliverD 13.08.2016, 23:55
quelle

0 Antworten