Ios SpriteKit:使用角度和长度绘制线

Ios SpriteKit:使用角度和长度绘制线,ios,swift,sprite-kit,Ios,Swift,Sprite Kit,我想做一些基于角度和长度的绘图,而不是SpriteKit(Swift)中的坐标 我有一个从2个点绘制的函数,但我想创建一个基于线的角度和长度从1个点绘制到另一个位置的函数 func drawLine( start: CGPoint, end: CGPoint) { CGPathMoveToPoint(ref, nil, start.x * 100, start.y * 100) let line = SKShapeNode() CGPath

我想做一些基于角度和长度的绘图,而不是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)

    }

sin
cos
是你在这里的朋友,这个答案并不特定于Swift

给定
角度
半径
,如果以弧度而不是度定义角度,则直线的终点应为:

let endPoint = CGPoint(x: start.x + sin(angle) * radius, 
                       y: start.y + cos(angle) * radius)

西蒙

sin
cos
是你在这里的朋友,这个答案并不针对斯威夫特

给定
角度
半径
,如果以弧度而不是度定义角度,则直线的终点应为:

let endPoint = CGPoint(x: start.x + sin(angle) * radius, 
                       y: start.y + cos(angle) * radius)
Simon

Δx应为cos(角度)*半径?Δx应为cos(角度)*半径?