【问题标题】:How to handle SpriteKit frame rate drop when multiplying by delta time乘以增量时间时如何处理 SpriteKit 帧率下降
【发布时间】:2014-04-27 12:34:17
【问题描述】:

我使用一种常见的方法将玩家速度乘以增量时间来创建重力效果,如下所示:

  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);

问题是当帧率下降时(例如 - 当收到与游戏无关的通知时)玩家错过了跳跃,我猜是因为错过了更新,然后跌倒了。

有没有合适的方法来处理这个用例?

【问题讨论】:

  • 如果你能提供一个例子可能更容易理解。

标签: ios7 sprite-kit


【解决方案1】:

您将 delta 时间考虑了两次!这不是帧率下降,而是您的节点移动得比它们应该的更快。删除第二行应该可以解决它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-07
    • 2013-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    相关资源
    最近更新 更多