In SpriteKit ist die clockwise
Richtung umgekehrt für UIBezierPath
, aber nicht für CGPath
. Zum Beispiel, wenn ichWarum definieren CGPath und UIBezierPath im SpriteKit "im Uhrzeigersinn" anders?
do {
let path = CGPathCreateMutable()
CGPathAddArc(path, nil, 0, 0, 10, 0, CGFloat(M_PI_2), true)
let node = SKShapeNode(path: path)
node.position = CGPoint(x: self.size.width/2, y: self.size.height/2)
self.addChild(node)
}
do {
let path = UIBezierPath()
path.addArcWithCenter(CGPoint(x: 0, y: 0), radius: 10, startAngle: 0, endAngle: CGFloat(M_PI_2), clockwise: true)
let node = SKShapeNode(path: path.CGPath)
node.position = CGPoint(x: self.size.width/2, y: self.size.height/2 - 100)
self.addChild(node)
}
in GameScene.didMoveToView(view: SKView)
, der erste Knoten zieht eine 3/4 Bogen mit oben rechts fehlt, aber der zweite Knoten zieht ein Viertelbogen an oben rechts haben. Die umgekehrte "Uhrzeigerrichtung" in UIBezierPath
wird erklärt in this post, aber warum verhält sich CGPath
nicht gleich? Ist nicht UIBezierPath
nur ein Wrapper um CGPath
?
Hinweis: Dies geschieht sowohl mit Objective-C als auch Swift (also nicht sprachspezifisch). Habe die Mac App nicht mit NSBezierPath
getestet.
Vielen Dank. Ich habe gerade die Referenz dazu gefunden für ['UIBezierView'] (https://developer.apple.com/library/ios/documentation/2DDrawing/Conceptual/DrawingPrintingiOS/BezierPaths/BezierPaths.html#//apple_ref/doc/uid/ TP40010156-CH11-SW5) und ['CGPath'] (https://developer.apple.com/library/mac/documentation/GraphicsImaging/Conceptual/drawingquarz2d/dq_overview/dq_overview.html#//apple_ref/doc/uid/TP30001066 -CH202-CJBBAEEC). –