我正在使用SpriteKit/Swift制作一款游戏,我想在菜单场景中实现一种将字符串绕着圆圈弯曲的效果。下面这张图片几乎完美地展示了我想要实现的效果。 http://www.heathrowe.com/tuts/typeonaapathimages/4.gif
我正在使用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
}
}
}
二叉树是一种非线性数据结构。每个父节点必须至少有两个子节点。
angleIncr
和angle
的初始值。 - 0x141E