修复Time不传入dt获取deltaTime错误问题

This commit is contained in:
yhh
2021-08-05 11:47:47 +08:00
parent 8bc06f0476
commit 0beadf8e5a
5 changed files with 24 additions and 23 deletions
+1 -1
View File
@@ -2189,7 +2189,7 @@ declare module es {
/** 自场景加载以来的总时间 */
static timeSinceSceneLoad: number;
private static _lastTime;
static update(currentTime: number): void;
static update(currentTime: number, useEngineTime: boolean): void;
static sceneChanged(): void;
/**
* 允许在间隔检查。只应该使用高于delta的间隔值,否则它将始终返回true。
+10 -10
View File
@@ -230,7 +230,7 @@ var es;
if (Core.paused) {
return [2 /*return*/];
}
es.Time.update(currentTime);
es.Time.update(currentTime, currentTime != -1);
if (this._scene != null) {
for (i = this._globalManagers.length - 1; i >= 0; i--) {
if (this._globalManagers[i].enabled)
@@ -5680,18 +5680,18 @@ var es;
var Time = /** @class */ (function () {
function Time() {
}
Time.update = function (currentTime) {
if (currentTime == -1) {
currentTime = Date.now();
}
if (this._lastTime == -1)
this._lastTime = currentTime;
Time.update = function (currentTime, useEngineTime) {
var dt = 0;
if (currentTime == -1) {
dt = (currentTime - this._lastTime) / 1000;
if (useEngineTime) {
dt = currentTime;
}
else {
dt = currentTime;
if (currentTime == -1) {
currentTime = Date.now();
}
if (this._lastTime == -1)
this._lastTime = currentTime;
dt = (currentTime - this._lastTime) / 1000;
}
if (dt > this.maxDeltaTime)
dt = this.maxDeltaTime;
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -182,7 +182,7 @@ module es {
return;
}
Time.update(currentTime);
Time.update(currentTime, currentTime != -1);
if (this._scene != null) {
for (let i = this._globalManagers.length - 1; i >= 0; i--) {
if (this._globalManagers[i].enabled)
+11 -10
View File
@@ -17,18 +17,19 @@ module es {
public static timeSinceSceneLoad: number = 0;
private static _lastTime = -1;
public static update(currentTime: number) {
if (currentTime == -1) {
currentTime = Date.now();
}
if (this._lastTime == -1)
this._lastTime = currentTime;
public static update(currentTime: number, useEngineTime: boolean) {
let dt = 0;
if (currentTime == -1) {
dt = (currentTime - this._lastTime) / 1000;
} else {
if (useEngineTime) {
dt = currentTime;
} else {
if (currentTime == -1) {
currentTime = Date.now();
}
if (this._lastTime == -1)
this._lastTime = currentTime;
dt = (currentTime - this._lastTime) / 1000;
}
if (dt > this.maxDeltaTime)