WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit 3b3266b

Browse files
committed
feat: gravity should be constant when canvas size changes
1 parent 452c992 commit 3b3266b

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

src/pages/collision-threads/classes/Balls.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,9 @@ export function makeBalls(side: number) {
118118
Atomics.store(base.color, i, randomInt(0, COLORS.length - 1))
119119
}
120120

121+
const relativeGravity = [GRAVITY[0] * side / 1000, GRAVITY[1] * side / 1000]
121122
function applyGravity() {
122-
accelerate(...GRAVITY)
123+
accelerate(relativeGravity[0], relativeGravity[1])
123124
}
124125

125126
function solveCollisions() {

src/pages/collision-threads/utils/constants.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
export const PRECISION = 100000
2-
export const COUNT = 200
2+
export const COUNT = 250
33
export const GRAVITY = [0, 1000] as const
44
export const DELAY_BETWEEN_BALLS = 250
5-
export const SUB_STEPS = 5
6-
export const MIN_BALL_RADIUS = 10
7-
export const MAX_BALL_RADIUS = 35
5+
export const SUB_STEPS = 8
6+
export const MIN_BALL_RADIUS = 8
7+
export const MAX_BALL_RADIUS = 30
88
export const TARGET_UPS = 360
99
export const COLORS = [
1010
'Aquamarine',

0 commit comments

Comments
 (0)