From c3c155cad5a5daa8967f3044c0723aad217b2256 Mon Sep 17 00:00:00 2001 From: tiendat3699 <96950844+tiendat3699@users.noreply.github.com> Date: Thu, 13 Jun 2024 10:39:54 +0700 Subject: [PATCH] feat: update game timescale can effect to physics fixed time --- assets/_Game/Scenes/Vital-Garden-theme.scene | 16 ++++++++-------- assets/_Game/Scripts/Extension/Extension.ts | 8 ++++++-- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/assets/_Game/Scenes/Vital-Garden-theme.scene b/assets/_Game/Scenes/Vital-Garden-theme.scene index 421a963..61e8948 100644 --- a/assets/_Game/Scenes/Vital-Garden-theme.scene +++ b/assets/_Game/Scenes/Vital-Garden-theme.scene @@ -336,7 +336,7 @@ "_lpos": { "__type__": "cc.Vec3", "x": 540, - "y": 1169.9999999999995, + "y": 1169.9999999999998, "z": 0 }, "_lrot": { @@ -387,7 +387,7 @@ "_lpos": { "__type__": "cc.Vec3", "x": 0, - "y": 2.2737367544323206e-13, + "y": 0, "z": 1000 }, "_lrot": { @@ -427,7 +427,7 @@ "_priority": 0, "_fov": 45, "_fovAxis": 0, - "_orthoHeight": 1169.9999999999998, + "_orthoHeight": 1170, "_near": 0, "_far": 2000, "_color": { @@ -17989,8 +17989,8 @@ "defaultAnimation": "stage5", "_premultipliedAlpha": true, "_timeScale": 1, - "_preCacheMode": 0, - "_cacheMode": 0, + "_preCacheMode": 1, + "_cacheMode": 1, "_sockets": [], "_useTint": false, "_debugMesh": false, @@ -29721,9 +29721,9 @@ "__uuid__": "cc731501-912a-465f-9070-dbe0d8ad3598", "__expectedType__": "cc.Prefab" }, - "weight": 10000, + "weight": 60, "weightStepOnGoal": 0, - "maxWeight": 10000, + "maxWeight": 60, "maxObjects": 1 }, { @@ -34995,7 +34995,7 @@ "_contentSize": { "__type__": "cc.Size", "width": 1080, - "height": 2339.9999999999995 + "height": 2340 }, "_anchorPoint": { "__type__": "cc.Vec2", diff --git a/assets/_Game/Scripts/Extension/Extension.ts b/assets/_Game/Scripts/Extension/Extension.ts index bf2c09e..08d23cd 100644 --- a/assets/_Game/Scripts/Extension/Extension.ts +++ b/assets/_Game/Scripts/Extension/Extension.ts @@ -8,6 +8,7 @@ import { Label, Node, NodeSpace, + PhysicsSystem2D, Sprite, Vec2, Vec3, @@ -94,13 +95,16 @@ declare global { //#region GAME +const fixedTime = PhysicsSystem2D.instance.fixedTimeStep; + Game.prototype.timeScale = 1; // @ts-ignore -game._calculateDT = function (useFixedDeltaTime: number) { +game._calculateDT = function (useFixedDeltaTime: boolean) { + PhysicsSystem2D.instance.fixedTimeStep = fixedTime * game.timeScale; this._useFixedDeltaTime = useFixedDeltaTime; if (useFixedDeltaTime) { this._startTime = performance.now(); - return this.frameTime / 1000; + return (this.frameTime / 1000) * game.timeScale; } const now = performance.now(); this._deltaTime = now > this._startTime ? (now - this._startTime) / 1000 : 0;