gsap.registerPlugin(); let tween;let killed=false;const reading=document.getElementById('control-reading'); function report(action){reading.textContent=action+' · '+Math.round(tween.progress()*100)+'% · '+tween.timeScale()+'배속'} function recreate(){tween?.kill();gsap.set('#logo',{x:0});killed=false;tween=gsap.to('#logo',{duration:1,x:100,paused:true});report('새 효과')} const actions={resume:()=>tween.resume(),pause:()=>tween.pause(),reverse:()=>tween.reverse(),seek:()=>tween.seek(0.5),progress:()=>tween.progress(0.25),slow:()=>tween.timeScale(0.5),fast:()=>tween.timeScale(2),'fast-reverse':()=>tween.timeScale(2).reverse(),kill:()=>{tween.kill();killed=true}}; for(const [id,action] of Object.entries(actions))document.getElementById(id).addEventListener('click',()=>{if(killed){reading.textContent='효과가 제거되었습니다. 새로 만들기를 누르세요.';return}action();report(document.getElementById(id).textContent)}); document.getElementById('recreate').addEventListener('click',recreate);recreate();