加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 01:39:24 所属栏目:百科 来源:网络整理
导读:1、SCNScene的内容可以表现为动画。动画可以合并,如果想一个节点应用了一个动画,则所有的子节点将一起变化。 下面添加一个上下移动的动画 // 为场景中的内容实现动画 let moveUpAndDownAnimation = CABasicAnimation(keyPath: "position" ) moveUpAndDownA

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)

将文字添加成为胶囊节点的子节点,字体会跟着胶囊移动。 当一个节点是另一个节点的子节点时,它会继承父节点的所有动画。我们也可以向子节点添加动画,但是这些动画不会影响父节点。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读