rotation.js (1253B)
1 var startPress = 0; 2 var startPressTime = 0; 3 var startPressRotation = 0; 4 const NORMAL_SPIN = 0.0001; 5 var spin = NORMAL_SPIN; 6 var lastMillis = 0; 7 var currentRotation = 0; 8 var mousePressed = false; 9 var pmousePressed = false; 10 11 function getRotation() { 12 let aktMillis = millis(); 13 if (mousePressed) { 14 if (!pmousePressed) { 15 startPress = mouseX + currentRotation * 1000; 16 startPressTime = millis(); 17 startPressRotation = currentRotation; 18 pmousePressed = true; 19 } 20 currentRotation = -(mouseX - startPress) / 1000; 21 } else { 22 if (pmousePressed) { 23 spin = (currentRotation - startPressRotation) / (millis() - startPressTime); 24 pmousePressed = false; 25 } 26 if (spin > NORMAL_SPIN) { 27 spin = NORMAL_SPIN + (spin - NORMAL_SPIN) * 0.9; 28 } 29 if (spin < NORMAL_SPIN) { 30 spin = spin + (NORMAL_SPIN - spin) * 0.1; 31 } 32 currentRotation += spin * (aktMillis - lastMillis); 33 } 34 lastMillis = aktMillis; 35 return currentRotation; 36 } 37 38 function mousePress() { 39 document.getElementById("settings").classList.remove("in"); 40 mousePressed = true; 41 } 42 43 function mouseRelease() { 44 mousePressed = false; 45 }