用两个 CGPoints SpriteKit Swift 创建一条线

2024-03-19

我正在尝试制作一个简单的应用程序,您触摸一个点,无论您触摸哪里,精灵都会沿着一条线穿过该点到达屏幕边缘。我想绘制连接精灵原点(它的起点)和您触摸的点的线段,以及精灵原点和屏幕边缘终点之间的线段,这样我就可以可视化路径精灵以及原点、触摸点和终点的 x 和 y 偏移量之间的关系。

希望这不会太令人困惑。

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

提前致谢。


这可以使用 CGPath 和 SKShapeNode 来完成。

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

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

您可以在此处查看文档:http://developer.apple.com/library/mac/#documentation/graphicsimaging/Reference/CGPath/Reference/reference.html 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)

希望这可以帮助 :)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用两个 CGPoints SpriteKit Swift 创建一条线 的相关文章

随机推荐