我想在SpriteKit(Swift)中根据角度和长度而不是协调做一些绘图
我有以下功能从2点绘制,但我想创建一个根据线的角度和长度从1点绘制到另一个地方
func drawLine( start: CGPoint, end: CGPoint)
{
CGPathMoveToPoint(ref, nil, start.x * 100, start.y * 100)
let line = SKShapeNode()
CGPathAddLineToPoint(ref, nil, end.x * 100, end.y * 100)
line.path = ref
line.lineWidth = 4
line.fillColor = UIColor.redColor()
line.strokeColor = UIColor.redColor()
self.addChild(line)
}
答案 0 :(得分:4)
sin
和cos
是您的朋友,这个答案并非特定于Swift。
鉴于angle
和radius
,如果您以弧度而非度数定义角度,则行的终点应为:
let endPoint = CGPoint(x: start.x + sin(angle) * radius,
y: start.y + cos(angle) * radius)
西蒙