← Home/pretext

이 실험에 대해

클릭 시 두 가지 효과가 동시에 발생한다. 첫째, 반경 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