作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图让我的 SCNNode 自动水平旋转。这是我到目前为止的代码:
box.scale = SCNVector3(x: 0.26, y: 0.26, z: 0.26)
box.position = SCNVector3(0.15, 3.85, -3)
如何让这个盒子自动水平旋转?另外,有没有办法在启用用户交互的情况下实现它?谢谢!
更新:如果我没有听起来那么清楚,这就是我的意思:你知道当你用手指旋转篮球时它是如何水平旋转的吗?这就是我想要达到的效果!谢谢!
最佳答案
你可以
SCNAction
类,例如SCNAction.rotate(by:around:duration:)
.这样做的好处是您可以链接多个动画或永远重复它们,编辑:
let action = SCNAction.repeatForever(SCNAction.rotate(by: .pi, around: SCNVector3(0, 1, 0), duration: 5))
box.runAction(action)
SCNTransaction
.你可以像这样改变转换
let oldTransform = box.transform
let rotation = SCNMatrix4MakeRotation(axis.x, axis.y, axis.z angle)
SCNTransaction.begin()
SCNTransaction.animationDuration = 0.5
box.transform = SCNMatrix4Mult(rotation, oldTransform)
SCNTransaction.commit()
例如,要使用用户输入,您可以使用手势识别器更改旋转角度或持续时间
关于scenekit - 如何使 SCNNode 水平旋转/自旋,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45227401/
我试图让我的 SCNNode 自动水平旋转。这是我到目前为止的代码: box.scale = SCNVector3(x: 0.26, y: 0.26, z: 0.26) box.position =
我试图让我的 SCNNode 自动水平旋转。这是我到目前为止的代码: box.scale = SCNVector3(x: 0.26, y: 0.26, z: 0.26) box.position =
我试图让 unicode 三 Angular 形 (▵) 在页面加载时和用户将鼠标悬停在跨度上时旋转 360 度。我已经设置了一个 jsFiddle解释我想要什么。 ULTR▵ 我对 CS
我是一名优秀的程序员,十分优秀!