如何降低重力对单个SKSpriteNode的影响

How to reduce the impact of gravity on a single SKSpriteNode

我正在构建一个无尽的跑酷游戏,其中平台以随机间隔出现,然后在屏幕上从右向左滚动。

我有一个使用

垂直向上跳跃的精灵
- (void)makeCharacterJump {

[self.spriteCaveman.physicsBody applyImpulse:CGVectorMake(0.0f, 80.0f)];

}

问题是重力对 sprite 的影响意味着它下落的速度非常快,无法在平台之间留下空隙。

我想做的是稍微减慢重力对下落精灵的影响,使其产生轻微漂浮的感觉。

有什么想法吗?

如果角色是唯一受重力影响的节点,那么您可以通过以下方式更改场景的重力:

self.physicsWorld.gravity = CGVectorMake(0, desiredGravity);

如果不是,那么您将不得不使用角色的物理特性 body 属性:摩擦、linearDamping 或 angularDamping 值。

希望对您有所帮助。