如何减少重力对单个SKSpriteNode的影响

时间:2015-11-09 10:11:59

标签: ios objective-c skspritenode skphysicsbody

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

我有一个使用

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

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

}

问题在于重力对精灵的影响意味着它很快就会下降并且无法弥补平台之间的差距。

我想要做的是稍微减慢重力对落下的精灵的影响,这样就会产生轻微下浮的印象。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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

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

如果不是那么你将不得不使用角色的物理身体属性:friction,linearDamping或angularDamping值。

希望有所帮助。