Ich habe mit der Programmierung mit SKCropNode begonnen. Mein Ziel ist es, ein gegebenes Bild für ein Spiel in kleinere Teile zu zerlegen (die später keine Rechtecke mehr sein können) (in denen die Benutzer diese Teile in richtige Positionen bringen müssen).SKCropNode von SpriteKit: Beziehung zwischen Positionen und Skalen?
Der Code für das Studium ist einfach wie die folgenden:
let center = CGPoint(x: self.frame.width * 0.5, y: self.frame.height * 0.5)
let imageNamed = "image1.jpg"
let sprite1 = SKSpriteNode(imageNamed: imageNamed)
sprite1.position = center
let mask1 = SKSpriteNode(color: SKColor.redColor(), size: CGSize(width: 400, height: 400))
mask1.position = center
let crop1 = SKCropNode()
crop1.maskNode = mask1
crop1.addChild(sprite1)
crop1.position = CGPointZero
self.addChild(crop1)
Der Code läuft gut und eine beschnittene Bild zeigen, und ich konnte verstehen, wenn einige Dinge wie Größe oder eine Position zu ändern, sagen von sprite1.
Allerdings bin ich völlig verloren gegangen, wenn ich einige Positionen von sprite1, mask1 und crop1 ändere, besonders wenn ich sprite1 oder crop1 skaliere. Wenn zum Beispiel das gegebene Bild auf 0,35 herunterskaliert und dann in 5 x 5 Teile geteilt wird, weiß ich nicht, wie das Stück {0, 0} oder {4, 3} angezeigt wird, und zeigt es dann an seinen ursprünglichen Positionen an. Mit anderen Worten, ich kann den Inhalt und die Position der Ernte nicht kontrollieren.
Kann mir jemand einen Tipp oder einen kurzen Tutor geben über die Beziehung zwischen diesen Positionen (von sprite1, mask1 und crop1) einschließlich ihrer Skalen, in Bezug auf den Zweck des Spiels (zB muss ich nicht alles skalieren skalieren und nur positionieren, was benötigt wird)? Oder gibt es eine andere einfachere Art zu implementieren?