如何在乘以delta时间时处理SpriteKit帧速率下降

时间:2014-04-27 12:34:18

标签: ios7 sprite-kit

我使用一种常用的方法在三角洲时间内将玩家速度相乘,以便产生引力效果,如下所示:

  CGPoint gravity = CGPointMake(0, kGravity);
  CGPoint gravityStep = CGPointMultiplyScalar(gravity, _dt);
  _playerVelocity = CGPointAdd(_playerVelocity, gravityStep);

  CGPoint velocityStep = CGPointMultiplyScalar(_playerVelocity, _dt);
  _player.position = CGPointAdd(_player.position, velocityStep);

问题在于,当帧速率下降时(例如 - 当获得与游戏无关的通知时),玩家会错过跳跃,我猜测是因为错过了更新而跌倒。

有没有正确的方法来处理这个用例?

1 个答案:

答案 0 :(得分:0)

你要考虑增量时间两次!这不是帧速率下降,但您的节点移动速度超过应有的速度。删除第二行应修复它。