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