Ich habe eine willkürliche nicht-selbstschneidendes Polygon SKShapeNode A. Als grafische Effekt geformt würde ich eine andere SKShapeNode B mit Skala von 0,7 auf der Oberseite des A.Positionierung SKShapeNodes auf der jeweils anderen für grafische Effekte
positionieren möchteIch bin in Sprite-Kits Koordinatensystem verloren. Ich kann den SKShapeNode B nicht richtig positionieren. Es sollte ein einfaches Problem sein, aber ich bleibe dabei. ALLE HILFE WERDEN BEREITGESTELLT!
createdShape.name = "whiteArea"
createdShape.strokeColor = shapeBorderColor
createdShape.lineWidth = 0.0
createdShape.fillColor = shapeFillColor
createdShape.alpha = 1.0
createdShape.zPosition = shapeZPosition
createdShape.glowWidth = 3.0
let graphicAddonShape = createdShape.copy() as! SKShapeNode
graphicAddonShape.setScale(0.7)
graphicAddonShape.lineWidth = 0
graphicAddonShape.zPosition = shapeZPosition + 1
graphicAddonShape.fillColor = UIColor(red: 15/255, green: 15/255, blue: 15/255, alpha: 1.0)
graphicAddonShape.name = "blackArea"
graphicAddonShape.physicsBody = nil
graphicAddonShape.position.x = createdShape.frame.width/2 - graphicAddonShape.frame.width/2
graphicAddonShape.position.y = createdShape.frame.height/2 - graphicAddonShape.frame.height/2
createdShape.addChild(graphicAddonShape)
self.addChild(createdShape)
Es wäre viel einfacher, wenn Sie ein [minimales, vollständiges und überprüfbares Beispiel] (http://stackoverflow.com/help/mcve) Code bereitstellen könnten, der das Problem hervorbringen kann, über das Sie sprechen. Außerdem sollten Sie als Zusatz ein Bild hinzufügen, das eine gewünschte Ausgabe darstellt. – Whirlwind
Einige Dinge zu beachten, abgesehen von dem, was @SteveIves bereits gezeigt hat, ist, dass 'frame' -Eigenschaft die Kinder dieses Knotens ignoriert. Wenn Sie möchten, dass Kinder in die Berechnung einbezogen werden, sollten Sie die Methode 'calculateAccumulatedFrame()' verwenden. – Whirlwind