簡體   English   中英

用底線畫半圓作為spritekit中的skshapenode

[英]Draw semi circle with bottom line to use it as skshapenode in spritekit

我想用底線畫一個半圓並再次將其重新用作形狀節點。 我該如何實施。 這是我的半圓代碼。 還有一些代碼是硬編碼的,因此我們感謝您的幫助。

func drawLine(from: CGPoint, to: CGPoint) {
// for line
    let myLine = SKShapeNode()
    let myPath = CGMutablePath()
    myPath.addLines(between: [from, to])
    myLine.path = myPath
    myLine.strokeColor = SKColor.blue
    myLine.lineWidth = 4
    addChild(myLine)
}
func drawSemi(){
// for semi circle

    let bezierPath = UIBezierPath(arcCenter: CGPoint(x: 0, y: 0), radius: 50, startAngle: 0, endAngle: .pi, clockwise: true)
    
    let pathNode = SKShapeNode(path: bezierPath.cgPath)
    
    pathNode.strokeColor = SKColor.blue
    
    pathNode.position = CGPoint(x: self.size.width/2, y: self.size.height/2)
    
    
    pathNode.lineWidth = 3
    
    
    
    addChild(pathNode)
}
func drawCompleteSemi(){
    drawSemi()
    drawLine(from: CGPoint(x: 450, y: 500), to: CGPoint(x: 550, y: 500))
}

只需在貝塞爾曲線路徑上調用close() ,並完全省略畫線 function

let bezierPath = UIBezierPath(arcCenter: CGPoint(x: 0, y: 0), radius: 50, startAngle: 0, endAngle: .pi, clockwise: true)
bezierPath.close() //<-- add this line

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM