[英]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.