feat(playfield): ones d'aigua a la rejilla per explosions i pas de nau
This commit is contained in:
@@ -25,20 +25,32 @@ namespace Defaults::Playfield {
|
||||
constexpr float HEAD_LENGTH_PX = 8.0F; // longitud en píxels lògics del tram brillant
|
||||
constexpr float HEAD_BRIGHTNESS = 0.0F; // brillo del cap (= border)
|
||||
|
||||
// Orbit (oscil·lació transversal de la línia quan la nau hi passa a prop).
|
||||
constexpr float ORBIT_AMPLITUDE_MAX_PX = 3.0F; // desplaçament transversal màxim
|
||||
constexpr float ORBIT_DECAY_PER_S = 4.0F; // decaiment de l'amplitud (px/s)
|
||||
constexpr float ORBIT_FREQ_HZ = 8.0F; // freqüència del sin
|
||||
constexpr float ORBIT_PROXIMITY_PX = 12.0F; // distància max de la línia per excitar-la
|
||||
constexpr float ORBIT_SHIP_SPEED_THRESHOLD = 60.0F; // velocitat mínima per excitar (px/s)
|
||||
// Ripples: deformacions circulars que travessen la graella com ones d'aigua.
|
||||
// Cada ripple desplaça radialment cap a fora els vèrtexs de les línies que
|
||||
// travessa, amb una envoltant que decau a les vores de l'anell i amb el temps.
|
||||
namespace Ripple {
|
||||
constexpr int POOL_SIZE = 32;
|
||||
|
||||
// Pulse (reacció a fireworks: punt brillant que es propaga al llarg de la
|
||||
// línia a partir del punt de spawn).
|
||||
constexpr int MAX_PULSES_PER_LINE = 2;
|
||||
constexpr float PULSE_LIFETIME_S = 1.0F; // temps total fins desaparèixer
|
||||
constexpr float PULSE_SPREAD_PER_S = 300.0F; // px/s de propagació (cap a cada extrem)
|
||||
constexpr unsigned char PULSE_COLOR_R = 180;
|
||||
constexpr unsigned char PULSE_COLOR_G = 230;
|
||||
constexpr unsigned char PULSE_COLOR_B = 255;
|
||||
// Ones grans (explosions / fireworks).
|
||||
constexpr float BIG_AMPLITUDE_PX = 10.0F;
|
||||
constexpr float BIG_SPEED_PX_S = 320.0F;
|
||||
constexpr float BIG_LIFETIME_S = 1.4F;
|
||||
constexpr float BIG_THICKNESS_PX = 40.0F;
|
||||
|
||||
// Ones petites (pas de nau, cadència estil trail).
|
||||
constexpr float SMALL_AMPLITUDE_PX = 2.5F;
|
||||
constexpr float SMALL_SPEED_PX_S = 160.0F;
|
||||
constexpr float SMALL_LIFETIME_S = 0.55F;
|
||||
constexpr float SMALL_THICKNESS_PX = 18.0F;
|
||||
|
||||
// Cadència "soltar gotetes" per nau (patró TrailManager).
|
||||
constexpr float SHIP_COOLDOWN_S = 0.10F;
|
||||
constexpr float SHIP_COOLDOWN_JITTER_S = 0.03F;
|
||||
constexpr float SHIP_SPEED_THRESHOLD_PX_S = 80.0F;
|
||||
|
||||
// Subdivisió de línies quan estan dins una ripple.
|
||||
constexpr int MAIN_SEGMENTS = 24; // línies principals
|
||||
constexpr int SUB_SEGMENTS = 12; // sub-graella
|
||||
} // namespace Ripple
|
||||
|
||||
} // namespace Defaults::Playfield
|
||||
|
||||
Reference in New Issue
Block a user