ios – 用两个CGPoint SpriteKit Swift创建一条线

我试图制作一个简单的应用程序,你触摸一个点,一个精灵跟随一条线,直到屏幕的边缘,无论你在哪里触摸.我想画出连接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,500,500)

现在要使路径可见,并给它像属性,如笔画颜色,线宽等,你在SpriteKit中创建一个SKShapeNode并添加它的路径.

let shape = SKShapeNode()
    shape.path = path
    shape.strokeColor = UIColor.whiteColor()
    shape.linewidth = 2
    addChild(shape)

希望这可以帮助 :).

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...