Implementar empuje lateral sutil al cambiar gravedad
🎯 Problema solucionado: - Pelotas se movían en líneas perfectas al cambiar gravedad - Todas llegaban exactamente una encima de otra ✨ Solución implementada: - Empuje lateral aleatorio muy sutil (2.4-4.8 px/s) - Se aplica automáticamente al cambiar dirección de gravedad - Perpendicular a la gravedad: UP/DOWN → empuje X, LEFT/RIGHT → empuje Y 🔧 Implementación técnica: - Nueva función Ball::applyRandomLateralPush() - Integrada en Engine::changeGravityDirection() - Velocidades ajustadas para ser apenas perceptibles 📊 Valores finales: - GRAVITY_CHANGE_LATERAL_MIN = 0.04f (2.4 px/s) - GRAVITY_CHANGE_LATERAL_MAX = 0.08f (4.8 px/s) - Rango: ~3-5 píxeles en 1 segundo (muy sutil) 🎮 Resultado: - Rompe la simetría perfecta sin crear caos - Movimiento más natural y orgánico - Mantiene la física realista 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -388,6 +388,7 @@ void Engine::changeGravityDirection(GravityDirection direction) {
|
||||
current_gravity_ = direction;
|
||||
for (auto &ball : balls_) {
|
||||
ball->setGravityDirection(direction);
|
||||
ball->applyRandomLateralPush(); // Aplicar empuje lateral aleatorio
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user