簡體   English   中英

如何在 Sprite Kit 中將文本環繞一個圓圈 / Swift

[英]How to Wrap Text Around a Circle in Sprite Kit / Swift

我正在使用 SpriteKit / Swift 制作游戲,我想對菜單場景產生影響,我將一根繩子繞着一個圓圈彎曲。 下圖幾乎正是我想要完成的。 http://www.heathrowe.com/tuts/typeonaapathimages/4.gif

通過為字符串中的每個字符創建標簽節點,將標簽的位置設置為圓上的適當位置,然后旋轉每個標簽節點,以下代碼將字符包裹在圓圈的上半部分周圍的字符串中它與該位置的圓相切。

class GameScene:SKScene {
    override func didMove(to view:SKView) {
        let radius = CGFloat(50.0)
        let circleCenter = CGPoint.zero

        let string = "Your Text Here"
        let count = string.lengthOfBytes(using: String.Encoding.utf8)
        let angleIncr = CGFloat.pi/(CGFloat(count)-1)
        var angle = CGFloat.pi
        // Loop over the characters in the string
        for (_, character) in string.characters.enumerated() {
            // Calculate the position of each character
            let x = cos(angle) * radius + circleCenter.x
            let y = sin(angle) * radius + circleCenter.y
            let label = SKLabelNode(fontNamed: "Arial")
            label.text = "\(character)"
            label.position = CGPoint(x: x, y: y)
            // Determine how much to rotate each character
            label.zRotation = angle - CGFloat.pi / 2
            label.fontSize = 30
            addChild(label)
            angle -= angleIncr
        }
    }
}

在此輸入圖像描述

二叉樹是一種非線性數據結構。 它應該而且必須至少有兩個子節點到一個父節點。

暫無
暫無

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

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