有没有办法让精灵在与其他精灵接触后旋转但没有施加摩擦力?
如果我设置
sprite.physicsBody.friction = 0.0;
sprite.physicsBody.allowsRotation = YES;
不会发生轮换。
答案 0 :(得分:0)
如果您希望身体在与其他身体滑动接触时旋转,则需要进行一些摩擦。 (就像在现实世界的物理学中一样!)你想要摩擦引起旋转,但是一旦它旋转就会表现出无摩擦的行为吗?如果是这样,重读上一句应该给出答案的线索:你需要在身体开始旋转后改变摩擦系数。设置contact delegate可让您有机会进行此更改。它也适用于任何其他情况,你想在发生碰撞后“捏造”碰撞的结果,例如将身体的速度重新设定为预定值。
答案 1 :(得分:0)
如果您想自己管理旋转,可以检测与委托的碰撞和应用角度冲动,如下所示 [sprite.physicsBody applyAngularImpulse:0.05];
答案 2 :(得分:-1)
也许我没有明白这一点,但你似乎想要做的只是:
sprite.zRotation = 1.0; // Note: zRotation is in radians
如果您希望轮换在一段时间内发生,请使用SKAction rotateToAngle:duration:
。