0
我正在使用SKShapeNodes繪製一條線。這條線不斷「增長」,或總是向上移動。當用戶在屏幕上點擊時,線應該以45度角改變方向,向右或向左。它是這樣做的,但是由於某些原因,當它改變方向時,隨機白線出現在該行中。他們看起來像這樣: 出現在SKShapeNode行中的白線
那些白線不應該在那裏,我不知道是什麼導致它們。 我創建用下面的代碼行: 每0.1秒,這個函數被調用
func addPoint() {
if (wayPoints.isEmpty) {
wayPoints.append(CGPointMake(0, CGRectGetMinY(self.frame)))
} else {
if (currentPosition == Position.Right) {
wayPoints.append(CGPointMake(wayPoints.last!.x + 1, wayPoints.last!.y + 1))
} else if (currentPosition == Position.Left) {
wayPoints.append(CGPointMake(wayPoints.last!.x - 1, wayPoints.last!.y + 1))
} else {
wayPoints.append(CGPointMake(0, wayPoints.last!.y + 1))
}
}
}
然後在update()函數如下:
func drawLines() {
enumerateChildNodesWithName("line", usingBlock: {node, stop in
node.removeFromParent()
})
if let path = createPathToMove() {
let shapeNode = SKShapeNode()
shapeNode.path = path
shapeNode.name = "line"
shapeNode.strokeColor = UIColor.blackColor()
shapeNode.lineWidth = 20
shapeNode.zPosition = 5
shapeNode.lineCap = kCGLineCapRound
self.addChild(shapeNode)
}
}
而且createPathToMove樣子這樣的:
func createPathToMove() -> CGPathRef? {
if wayPoints.count <= 1 {
return nil
}
var ref = CGPathCreateMutable()
for var i = 0; i < wayPoints.count; i++ {
let p = wayPoints[i]
if i == 0 {
CGPathMoveToPoint(ref, nil, p.x, p.y)
} else {
CGPathAddLineToPoint(ref, nil, p.x, p.y)
}
}
return ref
}
我改變的touchesBegan的currentPosition變量(我只是做它的什麼它目前正對面)。 我環顧了一下,並沒有發現任何類似於我的問題。爲了確保這些白線不出現,我需要做些特別的事情嗎?任何幫助表示讚賞,我會高興地採取客觀的C代碼,並將其轉換爲迅速自己。