У меня есть циферблат, который я перетаскиваю по кругу, чтобы дать мне показание от 0 до 1.
Примерно так:
dx = mouseX-centerX;
dy = mouseY-centerY;
rad = Math.atan2(dy,dx);
rad += offset;
Tweener.addTween(knob,{y:centerY - Math.cos(rad)*radius, time:.1, transition:"easeOutSine"});
Tweener.addTween(knob,{x:centerX + Math.sin(rad)*radius, time:.1, transition:"easeOutSine"});
knob.rotation = rad * 180 / Math.PI;
Эта работа великолепна, за исключением случаев, когда ползунок переходит от 359 градусов к 1 градусу, мое значение от 0 до 1 возвращается к нулю. (Что имеет смысл, так как значение основано на угле моего ползунка)
Я пытаюсь найти способ перемещения циферблата с 359 градусов до 361 и далее в основном.
У меня в голове: мне нужно проверить, не превышает ли следующее значение моего перетаскивания мышью точку 360 градусов и прибавить 360 к общей сумме, чтобы оно не возвращалось к нулю и продолжалось до 361 градуса.
Я просто не могу понять, как поместить это в код ...