diff --git a/src/utils/deviceOrientationInteraction.ts b/src/utils/deviceOrientationInteraction.ts index 387a7b9..5b3b83c 100644 --- a/src/utils/deviceOrientationInteraction.ts +++ b/src/utils/deviceOrientationInteraction.ts @@ -128,6 +128,10 @@ export class DeviceOrientationInteraction { return { x: this.ax, y: this.ay }; } + public getEnabled(): boolean { + return this.config.enable; + } + /** * Apply Force (Gravity) */ diff --git a/src/utils/marbleSystem.ts b/src/utils/marbleSystem.ts index 66e6707..ca04323 100644 --- a/src/utils/marbleSystem.ts +++ b/src/utils/marbleSystem.ts @@ -154,12 +154,16 @@ export class MarbleSystem { } else { subSteps = 4; } - const maxMagnitude = 7.0; - const exponent = 3; - const t = Math.min(magnitude / maxMagnitude, 1.0); - const factor = 1 - (2 * t) ** exponent; - const minSpeed = MARBLE_CONFIG.physics.minSpeed * Math.max(0, factor); - this.physics.updateConfig({ minSpeed: minSpeed }); + if (this.deviceOrientationInteraction.getEnabled()) { + const maxMagnitude = 7.0; + const exponent = 3; + const t = Math.min(magnitude / maxMagnitude, 1.0); + const factor = 1 - (2 * t) ** exponent; + const minSpeed = MARBLE_CONFIG.physics.minSpeed * Math.max(0, factor); + this.physics.updateConfig({ minSpeed: minSpeed }); + } else { + this.physics.updateConfig({ minSpeed: MARBLE_CONFIG.physics.minSpeed }); + } } this.currentSubSteps = subSteps;