ios - 如何在 [SKAction rotateBy :duration:] 期间获得正确的 zRotation

标签 ios objective-c sprite-kit

我正在运行一个针对节点永远重复的 rotateBy 操作,偶尔我想获取节点的当前旋转。但是 zRotation 总是返回 0。我怎样才能得到这个节点的正确 zRotation?

编辑:最后我要做的是创建一个自定义旋转 Action ,而不是使用 Sprite Kit 的默认 Action 。更加复杂且难以扩展,但它可以满足我的要求,并且可以封装在每个节点自己的类中。

最佳答案

我相信你得到 0 的原因是因为你正在使用动画。正在进行动画的节点的属性不会在模拟的每个步骤中更新。您将需要在更新方法中手动旋转节点或创建物理体并设置角速度。使用实时运动将使您能够在模拟的每个步骤中持续监控节点的属性。

您可以在我的回答 here 中看到使用实时运动模拟旋转的示例(尽管更复杂) .

关于ios - 如何在 [SKAction rotateBy :duration:] 期间获得正确的 zRotation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31229382/

相关文章:

ios - 是否有适用于 Twitter 的 Firebase iOS 简单登录示例?

ios - 在应用程序启动时锁定到纵向从横向旋转到纵向(iOS)

ios - iOS 中的滚动菜单

ios - 如何使用UIActivityViewController在Facebook和Twitter中共享不同的文本?

swift - Spritekit,复制现有节点和初始化新节点是否需要相当的计算能力?

swift - Apple TV - Sprite 套件中未显示图像

ios - 使用 swift 存储在应用程序中拍摄的 UIImages 的正确方法是什么?

c++ - OpenGL ES 2.0 : paint in FBO + Texture = gray blending in texture

ios - iAd 未加载广告 xcode7

objective-c - 关于 Swift 中的同步作用域