From e997bc98f5903475c60ab7ba1528a87759763bd3 Mon Sep 17 00:00:00 2001 From: any Date: Sun, 10 May 2026 14:14:13 +0200 Subject: [PATCH] particles sind langsam bei kleinen inkrementen --- main.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/main.go b/main.go index ee4c56b..62dab7e 100644 --- a/main.go +++ b/main.go @@ -36,20 +36,21 @@ func main() { var particleHeight float32 = 200 var particleColumnCount int = 10 var particleRowCount int = 10 + var particleCount int = particleRowCount * particleColumnCount var particleRadius float32 = 5 var particleColor rl.Color = rl.Black var gravity rl.Vector2 = rl.Vector2{0, 10} //var stepSize float32 = 10 var particleSpeed rl.Vector2 = rl.Vector2{0, -100} //pixel pro zeitinkrement - var timeIncrement float32 = 0.1 + var timeIncrement float32 = 0.01 var particleList = [MAXPOINTS]rl.Vector2{} spawnParticlesAsGrid(particleWidth, particleHeight, particleColumnCount, particleRowCount, &particleList) for j := float32(0); j < 20; { rl.BeginDrawing() - time.Sleep(time.Duration(timeIncrement*100) * time.Millisecond) - for i := 0; i < MAXPOINTS; i++ { + var startTime time.Time = time.Now() + for i := 0; i < particleCount; i++ { rl.DrawCircleV(particleList[i], particleRadius, particleColor) particleList[i] = rl.Vector2Add( @@ -57,13 +58,18 @@ func main() { rl.Vector2Scale(particleSpeed, timeIncrement)) } rl.EndDrawing() - rl.ClearBackground(rl.RayWhite) + //fmt.Println(particleList) particleSpeed = rl.Vector2Add( particleSpeed, rl.Vector2Scale(gravity, timeIncrement)) j += timeIncrement + var endTime time.Time = time.Now() + var elapsed time.Duration = endTime.Sub(startTime) + var waitTime float64 = float64(timeIncrement) - float64(elapsed*time.Second) + rl.WaitTime(waitTime) + rl.ClearBackground(rl.RayWhite) } }