이 실험에 대해
클릭 시 두 가지 효과가 동시에 발생한다. 첫째, 반경 90px 안의 글자들에게 충격파 힘이 가해져 바깥으로 튀어나간다. 둘째, 구슬이 영구적으로 박혀 지속적인 반발력을 가한다 — 글자들은 스프링으로 돌아오려 하지만 구슬이 가로막아 크레이터 형태를 유지한다. 충격 반경 안에 있던 글자는 주황색으로 손상 표시가 남는다.
핵심 코드
// 클릭 시: 충격파 burst + 손상 기록 const force = (1 - dist / BURST_R) ** 2 * 14 c.vx += Math.cos(angle) * force c.damage = Math.max(c.damage, t * 0.85) // 영구 손상 // 매 프레임: 구슬이 지속적으로 반발 const t = 1 - dist / REPEL_R c.vx += (dx / dist) * t * t * 4.5 // 항상 밀어냄 // 스프링이 당기지만 구슬이 막아 크레이터 유지 c.vx += (c.restX - c.x) * 0.075