Mejorar interacción entre modos RotoBall y física con gestión de gravedad
Cambios principales: - Fix: Pelotas ahora caen correctamente al salir de RotoBall (resetear on_surface_/stopped_) - Fix: Al cambiar escenario en RotoBall, desactivar modo figura primero - Feature: Al entrar en RotoBall, gravedad se desactiva automáticamente - Feature: Tecla G desde RotoBall → Sale a física SIN gravedad (pelotas flotan) - Feature: Tecla C desde RotoBall → Sale a física CON gravedad (pelotas caen) - Feature: Cursores desde RotoBall → Sale a física CON gravedad + cambio dirección - Feature: Cursores desde física sin gravedad → Reactiva gravedad automáticamente Nuevos métodos: - Ball::enableGravityIfDisabled() - Reactiva solo si está desactivada - Ball::forceGravityOn() - Fuerza activación - Ball::forceGravityOff() - Fuerza desactivación - Engine::toggleRotoBallMode(bool force_gravity_on_exit) - Control de gravedad al salir Lógica de controles desde RotoBall: - C: Figura OFF → Física CON gravedad (caen) - ↑↓←→: Figura OFF → Física CON gravedad + dirección (caen hacia dirección) - G: Figura OFF → Física SIN gravedad (flotan) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -105,6 +105,9 @@ private:
|
||||
void setText();
|
||||
void pushBallsAwayFromGravity();
|
||||
void switchBallsGravity();
|
||||
void enableBallsGravityIfDisabled();
|
||||
void forceBallsGravityOn();
|
||||
void forceBallsGravityOff();
|
||||
void changeGravityDirection(GravityDirection direction);
|
||||
void toggleVSync();
|
||||
void toggleFullscreen();
|
||||
@@ -125,7 +128,7 @@ private:
|
||||
void addSpriteToBatch(float x, float y, float w, float h, int r, int g, int b);
|
||||
|
||||
// Sistema RotoBall
|
||||
void toggleRotoBallMode();
|
||||
void toggleRotoBallMode(bool force_gravity_on_exit = true);
|
||||
void generateRotoBallSphere();
|
||||
void updateRotoBall();
|
||||
};
|
||||
Reference in New Issue
Block a user