您的位置:首页 > 移动开发 > Swift

swift 快速奔跑的兔几 本节的内容是:SceneKit 第二说 实现动画&创建文本几何体

2015-11-11 15:14 393 查看
1、SCNScene的内容可以表现为动画。动画可以合并,如果想一个节点应用了一个动画,则所有的子节点将一起变化。

下面添加一个上下移动的动画

// 为场景中的内容实现动画
let moveUpAndDownAnimation = CABasicAnimation(keyPath: "position")
moveUpAndDownAnimation.byValue = NSValue(SCNVector3:SCNVector3(0,5,0))
// 在最后加速和减速,而不是机械弹跳
moveUpAndDownAnimation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
// 在末端自动返回
moveUpAndDownAnimation.autoreverses = true
// 动画无限次循环
moveUpAndDownAnimation.repeatCount = Float.infinity
moveUpAndDownAnimation.duration = 2
// 添加到一个节点
capsuleNodeOne.addAnimation(moveUpAndDownAnimation, forKey: "upAndDown")


2、创建文本几何体

// 创建文本几何体
let text3D = SCNText(string: "BlaBlaBla", extrusionDepth: 0.3)
text3D.font = UIFont.systemFontOfSize(2)
let textNode = SCNNode(geometry: text3D)
textNode.position = SCNVector3(-5,6,0)
capsuleNodeOne.addChildNode(textNode)


将文字添加成为胶囊节点的子节点,字体会跟着胶囊移动。

当一个节点是另一个节点的子节点时,它会继承父节点的所有动画。我们也可以向子节点添加动画,但是这些动画不会影响父节点。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  swift 动画