如果我在没有SKAction的情况下直接修改SKSpriteNode的位置和旋转,SpriteKit是否应用物理



例如,如果我想制作自己的自定义动画,并通过x += 10以编程方式每帧移动一个SKSpriteNode,Sprite Kit是否仍然正确应用物理,还是必须始终使用SKAction?

无论如何或何时手动移动具有物理体的节点都是可能的。但在任何情况下,都不建议这样做,因为这会对物理模拟产生不利影响。节点(视图)可能与身体的位置不同步1帧,并且您可能会将身体移动到物理引擎将强制解决的碰撞中,从而导致跳跃、抖动、爆炸速度或跳过碰撞。

当你使用物理学时,坚持通过力、脉冲或直接改变物体速度来移动物理学物体

不,您不必使用SKAction来移动SKSpriteNode。这种方法对我来说很好:

- (void)update:(CFTimeInterval)currentTime {
myNode.position = CGPointMake(myNode.position.x + 0.1,myNode.position.y);
}

所有物理工作符合预期

最新更新