1

SpriteKit と Kobald Kit (オープン ソースの追加機能) を使用して、真ん中にキャラクターがいるタイル ベースのゲームを作成しています。現時点では、ユーザーが CADisplayLink ティックに基づいてジョイスティック コンポーネントを使用するときのキャラクターの速度値を計算しています。問題は、より高いフレーム レートでキャラクターが高速になることです。正しい解決策は何でしょうか? ジョイスティック自体の Y 値だけを単純に使用できることはわかっていますが、優れた加速/減速効果を失います ...

4

1 に答える 1

2

計算された速度を使用して、ゲーム内の要素の位置を調整していると思います。現在のティックと最後のティックの間のデルタ時間を計算し、このデルタに従って速度をスケーリングできます。

SKScene の更新メソッドで次のようなことを行います。

- (void) update:(NSTimeInterval) currentTime {
    NSTimeInterval delta = currentTime - self.lastTime;
    self.lastTime = currentTime;
    // use the time delta to determine how much of the velocity to add to the affected sprite
}
于 2013-09-30T01:52:30.490 に答える