我使用一种常用的方法在三角洲时间内将玩家速度相乘,以便产生引力效果,如下所示:
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);
问题在于,当帧速率下降时(例如 - 当获得与游戏无关的通知时),玩家会错过跳跃,我猜测是因为错过了更新而跌倒。
有没有正确的方法来处理这个用例?
答案 0 :(得分:0)
你要考虑增量时间两次!这不是帧速率下降,但您的节点移动速度超过应有的速度。删除第二行应修复它。