Mejorar DEMO MODE + Añadir DEMO LITE MODE (Tecla L)
MEJORAS DEMO MODE (Tecla D): ✅ **Randomización completa al activar**: escenario, tema, sprite, física/figura, gravedad, profundidad, escala ✅ **Excluye escenarios problemáticos**: 1, 50K, 100K pelotas (índices 0, 6, 7) ✅ **Nuevas acciones dinámicas**: - Toggle gravedad ON/OFF (8%) - Toggle física ↔ figura (12%) - Re-generar misma figura (8%) ✅ **Intervalos más rápidos**: 2-6s (antes 3-8s) ✅ **SIN TEXTOS** durante demo (solo "DEMO MODE") ✅ **Pesos rebalanceados**: Más variedad y dinamismo NUEVO: DEMO LITE MODE (Tecla L): ✅ **Solo física/figuras**: NO cambia escenario, tema, sprite, profundidad, escala ✅ **Randomización inicial lite**: física/figura + gravedad ✅ **Acciones lite**: - Cambiar dirección gravedad (25%) - Toggle gravedad ON/OFF (20%) - Activar figura 3D (25%) - Toggle física ↔ figura (20%) - Aplicar impulso (10%) ✅ **Intervalos ultra-rápidos**: 1.5-4s ✅ **Display visual**: "DEMO LITE" en azul claro (128, 200, 255) ✅ **Mutuamente excluyente**: D y L no pueden estar activos a la vez CAMBIOS TÉCNICOS: - Nuevas constantes en defines.h: DEMO_LITE_* (intervalos + pesos) - Nuevos métodos: * `randomizeOnDemoStart(bool is_lite)` - Randomización inicial * `toggleGravityOnOff()` - Activar/desactivar gravedad - `performDemoAction()` ahora recibe parámetro `is_lite` - Suprimidos textos en: setText(), startThemeTransition(), switchTexture(), toggleShapeMode(), activateShape() - DEMO MODE nunca cambia dimensiones de ventana ni modo pantalla 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -96,7 +96,8 @@ private:
|
||||
bool depth_zoom_enabled_ = true; // Zoom por profundidad Z activado
|
||||
|
||||
// Sistema de Modo DEMO (auto-play)
|
||||
bool demo_mode_enabled_ = false; // ¿Está activo el modo demo?
|
||||
bool demo_mode_enabled_ = false; // ¿Está activo el modo demo completo?
|
||||
bool demo_lite_enabled_ = false; // ¿Está activo el modo demo lite?
|
||||
float demo_timer_ = 0.0f; // Contador de tiempo para próxima acción
|
||||
float demo_next_action_time_ = 0.0f; // Tiempo aleatorio hasta próxima acción (segundos)
|
||||
|
||||
@@ -128,7 +129,9 @@ private:
|
||||
|
||||
// Sistema de Modo DEMO
|
||||
void updateDemoMode();
|
||||
void performDemoAction();
|
||||
void performDemoAction(bool is_lite);
|
||||
void randomizeOnDemoStart(bool is_lite);
|
||||
void toggleGravityOnOff();
|
||||
|
||||
// Sistema de transiciones LERP
|
||||
float lerp(float a, float b, float t) const { return a + (b - a) * t; }
|
||||
|
||||
Reference in New Issue
Block a user