Get the elapsed game time
現在のフレーム番号からロールバックウィンドウを引いた値に、ティックのデルタタイムを掛けることができます。
C#
namespace Quantum {
unsafe partial class Frame {
public FP ElapsedTime {
get {
return DeltaTime * (Number - SessionConfig.RollbackWindow);
}
}
}
}
より良いアプローチは、各ティックごとに自分で経過時間を追跡することです。これは、実行時にデルタタイムを変更する場合や、実行中のゲームを一時停止して後で再開したい場合に必要です。
C#
// add a global variable to your qtn-file
global {
FP ElapsedTime;
}
// create a system
public unsafe class TimeSystem : SystemBase {
public override void Update(Frame f) {
f.Global->ElapsedTime += f.DeltaTime;
}
}
注意: このようにカウントすると、浮動小数点数の精度のために最終的に不正確になる可能性があります。精度を向上させるために、経過したティックのみを Int32 としてカウントしてください。
Back to top