RFG
RFG

Reputation: 2902

Draw lines with Sprite kit and swift

I'm using Sprite kit with Swift to assay drawing lines with fingers.

Code:

override func touchesBegan(touches: NSSet!, withEvent event: UIEvent!) {
    touch = touches.anyObject() as UITouch!
    firstPoint = touch.locationInNode(self)
}

override func touchesMoved(touches: NSSet!, withEvent event: UIEvent!) {
    var touch = touches.anyObject() as UITouch!
    var positionInScene = touch.locationInNode(self)

    lineNode.removeFromParent()
    CGPathMoveToPoint(pathToDraw, nil, firstPoint.x, firstPoint.y)
    CGPathAddLineToPoint(pathToDraw, nil, positionInScene.x, positionInScene.y)
    lineNode.path = pathToDraw
    lineNode.lineWidth = 10.0
    lineNode.strokeColor = UIColor.redColor()

    self.addChild(lineNode)
    firstPoint = positionInScene
}

override func touchesEnded(touches: NSSet!, withEvent event: UIEvent!) {

}

But the lines obtained are empty, only the border has color (image).

enter image description here

Any idea?

Upvotes: 2

Views: 3226

Answers (1)

Andriko13
Andriko13

Reputation: 990

SKShapeNode has a property called fillColor which is by default set to clearColor. In your code, you only set the strokeColor(outline) to red, but you should also do so to fillColor.

You can do this with lineNode.fillColor = UIColor.redColor()

Good luck!

Upvotes: 2

Related Questions