我正在使用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/

10-10 03:40