feat: improve tractor beam visual with 2-layer glow and pulse animation
Replace the single static rectangle with a 2-layer beam (outer glow + inner core) and sinusoidal opacity pulse. Add per-frame beam height tracking to follow boss position. Include 8 unit tests for pure math functions (beam height calculation, pulse alpha). Refs: GAL-33
This commit is contained in:
parent
db061820b9
commit
52b0919d3f
4 changed files with 375 additions and 162 deletions
|
|
@ -29,7 +29,7 @@ use player::{
|
|||
};
|
||||
use enemy::{
|
||||
check_formation_complete, enemy_shoot, is_formation_complete, move_enemies, spawn_enemies,
|
||||
trigger_attack_dives, boss_capture_attack,
|
||||
trigger_attack_dives, boss_capture_attack, update_tractor_beam_visual,
|
||||
};
|
||||
use bullet::{
|
||||
check_bullet_collisions, check_enemy_bullet_player_collisions, move_bullets,
|
||||
|
|
@ -103,6 +103,7 @@ fn main() {
|
|||
move_enemies,
|
||||
enemy_shoot, // Consider run_if attacking state? (Handled internally for now)
|
||||
boss_capture_attack, // New system for boss tractor beam
|
||||
update_tractor_beam_visual,
|
||||
)
|
||||
.run_if(in_state(AppState::Playing)),
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue