我正在尝试制作一个简单的应用程序,使您可以触摸一个点,无论您在何处触摸, Sprite 都会沿着该点一直指向屏幕的边缘。我想画线段来连接 Sprite 的原点(它的起点)和您触摸的点,以及 Sprite 的原点和屏幕边缘的终点之间的线段,这样我就可以直观地看到子画面以及原点,接触点和终点的x和y偏移量之间的关系。

希望那不是太令人困惑。

TL; DR:我需要在两点之间画一条线,但我不知道如何使用SpriteKit Swift做到这一点。

提前致谢。

最佳答案

这可以使用CGPath和SKShapeNode完成。

让我们从CGPath开始。当我们需要使用一系列形状或线条构造路径时,可以使用CGPath。路径是连接两个点的线。所以要写一行:

  • moveToPoint:将路径的当前点设置为指定点。
  • addLineToPoint:从当前点到指定点绘制一条直线。
    或者
    addCurveToPoint:根据某些切线和控制点,绘制一条从当前点到指定点的曲线。

  • 您可以在此处查看文档:
    http://developer.apple.com/library/mac/#documentation/graphicsimaging/Reference/CGPath/Reference/reference.html

    您需要做的是:
        var path = CGPathCreateMutable()
        CGPathMoveToPoint(path, nil, 100, 100)
        CGPathAddLineToPoint(path, nil, 500, 500)
    

    现在,使该路径可见,并为其提供诸如笔触颜色,线条宽度等属性。您在SpriteKit中创建一个SKShapeNode并将路径添加到其中。
        let shape = SKShapeNode()
        shape.path = path
        shape.strokeColor = UIColor.whiteColor()
        shape.lineWidth = 2
        addChild(shape)
    

    希望这可以帮助 :)。

    关于ios - 用两个CGPoints SpriteKit Swift创建一条线,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31109423/

    10-11 16:27