我正在使用swift和sprite-kit开发Xcode中的一个应用程序,并且我有一个排列成椭圆形的点数组。我想知道如何绘制一条平滑的白色曲线来连接数组的点。我很确定它与SKShapeNode有关,但是我不确定如何做到这一点。在此先感谢您的帮助。
最佳答案
如果您想要一个完美的椭圆,可以使用:
convenience init(ellipseInRect rect: CGRect)
要么
convenience init(ellipseOfSize size: CGSize)
如果只需要使用这些点,则可以创建一个CGPath,并使用以下方法制作一个SKShapeNode:
convenience init(path path: CGPath!)
要么
convenience init(path path: CGPath!, centered centered: Bool)
在以下链接中可以找到更多信息:
CGPath:https://developer.apple.com/library/mac/documentation/GraphicsImaging/Reference/CGPath/index.html
和SKShapeNode:https://developer.apple.com/library/prerelease/ios/documentation/SpriteKit/Reference/SKShapeNode_Ref/index.html#//apple_ref/occ/clm/SKShapeNode/shapeNodeWithPath:centered:
最后,这四个动作都在起作用:
let rect = CGRect(x: 10, y: 10, width: 30, height: 40)
let size = rect.size
//for convenience init(ellipseInRect rect: CGRect)
let ellipse1 = SKShapeNode(ellipseInRect: rect)
//for convenience init(ellipseOfSize size: CGSize)
let ellipse2 = SKShapeNode(ellipseOfSize: size)
//path is a little harder to explain without more context
let path = CGPathCreateWithRect(rect, nil)
//for convenience init(path path: CGPath!)
let ellipse3 = SKShapeNode(path: path)
//for convenience init(path path: CGPath!, centered centered: Bool)
let ellipse4 = SKShapeNode(path: path, centered: true)
关于swift - 从点数组快速绘制平滑曲线,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27757743/