쿨다운 링

Cooldown Ring

스킬 아이콘 위에 원형으로 어둡게 덮인 부채꼴이 시계처럼 줄어들며 쿨타임이 얼마나 남았는지 보여주는 표시.

다른 이름: 스킬 쿨타임 표시Radial cooldown쿨타임 링
···
html
<div class="crrow">
<div class="crslot"><div class="cricon"></div><div class="crring" id="r1"></div><div class="crnum" id="n1">3</div></div>
<div class="crslot"><div class="cricon i2"></div><div class="crring" id="r2"></div><div class="crnum" id="n2">1</div></div>
<div class="crslot"><div class="cricon i3"></div><div class="crring" id="r3"></div><div class="crnum" id="n3"></div></div>
</div>
css
.crrow{display:flex;gap:clamp(10px,5vmin,20px)}
.crslot{position:relative;width:clamp(38px,15vmin,64px);height:clamp(38px,15vmin,64px);border-radius:12px;background:var(--surface);border:1px solid var(--line);overflow:hidden}
.cricon{position:absolute;inset:18%;border-radius:6px;background:var(--accent)}
.i2{background:var(--accent-2)}
.i3{background:var(--accent-3)}
.crring{position:absolute;inset:0;background:conic-gradient(rgba(0,0,0,.62) var(--p,0deg),transparent 0)}
.crnum{position:absolute;inset:0;display:grid;place-items:center;font:800 clamp(12px,4.6vmin,18px) monospace;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6)}
js
function makeRing(ringId,numId,durationMs,startDelay){
  const ring=document.getElementById(ringId);
  const num=document.getElementById(numId);
  function run(){
    const start=performance.now();
    function step(now){
      const p=Math.min(1,(now-start)/durationMs);
      const deg=(1-p)*360;
      ring.style.setProperty('--p', deg+'deg');
      num.textContent = p<1 ? Math.ceil((1-p)*(durationMs/1000)) : '';
      if(p<1) requestAnimationFrame(step);
      else setTimeout(run, 600);
    }
    requestAnimationFrame(step);
  }
  setTimeout(run, startDelay);
}
makeRing('r1','n1',3000,200);
makeRing('r2','n2',1600,900);
document.getElementById('r3').style.setProperty('--p','0deg');

쿨다운 링은 보통 conic-gradient 하나로 구현한다. 남은 비율을 각도(0~360deg)로 바꿔서 그 각도까지는 어둡게, 나머지는 투명하게 칠하면 시계 방향으로 걷히는 부채꼴이 만들어진다. 숫자 카운트다운을 함께 표시하면 "얼마나"는 숫자가, "지금 쓸 수 있는가"는 링의 형태가 즉각 답해준다.

링이 다 걷혀서(쿨타임 종료) 스킬을 다시 쓸 수 있게 되는 순간에는 짧은 플래시나 테두리 발광을 더해준다 — 그렇지 않으면 링이 사라지는 것 자체는 눈에 잘 안 띄어서 "이제 쓸 수 있다"는 신호가 약하다. 다수의 스킬 슬롯을 나란히 두면 플레이어는 숫자를 하나하나 읽지 않고도 어느 링이 덜 찼는지 형태로 비교해서 다음 행동을 고른다.

부채꼴 대신 원형 테두리를 따라 채우는 방식(stroke-dashoffset을 쓰는 SVG progress ring)도 흔하다. 어느 쪽이든 진행 방향(시계 방향 vs 반시계 방향)과 시작 각도(12시 vs 3시)를 그 게임의 다른 원형 게이지들과 통일해야 헷갈리지 않는다.

언제 쓰나

재사용 대기시간이 있는 스킬·아이템 슬롯 전반. 즉시 재사용 가능한 기본 공격에는 불필요하다.