Получение процента высоты, вертикальный слайдер громкости - PullRequest
0 голосов
/ 02 декабря 2011

хорошо, сейчас у меня пердит мозг, и я не могу думать прямо. Я делал это много раз раньше.

Я делаю вертикальный слайдер громкости. Верхняя часть моей дорожки слайдера находится на -80, а нижняя на -16. Так что моя ручка громкости может скользить между -80 и -16 по оси Y.

-48 в основном 50%. Я не могу сообразить этот процент прямо сейчас, может ли кто-нибудь оказать мне небольшую математическую помощь. Я взял математику в летней школе все 3 года средней школы по причине: P

Ответы [ 2 ]

2 голосов
/ 02 декабря 2011
max = -80
min = -16
so total points in range = 64
so 50% of total = 64 / 2 = 32

Теперь начинает движение вверх от -16.Вы получаете -48 при перемещении на 32 (50%) пункта вверх.

Таким образом, процентное значение для любого значения v (в положительном) в диапазоне от 16 до 80 составляет:

percent = (v - 16) / 64 * 100

Для этого примера: (48 - 16) / 64 * 100 = 50

1 голос
/ 02 декабря 2011

Отрицательные числа смущают меня в такого рода вещах, но для этого нужны электронные таблицы и метод проб и ошибок.

Если я правильно прочитал вопрос, вы знаете, что -48 - это 50%, и вы хотитечтобы узнать проценты для других входных данных (например, -12, -60 и т. д.)

  1. Удалите смещение, чтобы наш диапазон был 0 .. max
  2. Разделите это значение на максимальноеполучите процент
  3. Возьмите абсолютное значение

, если v является вашим входным значением (-48), тогда p = Math.abs((v+16)/64), где "+16" просто вычитает вашу нижнюю границу (-16), а «64» - это абсолютное значение верхней границы минус нижняя граница.

Другими словами,

var lower:int = -16;
var upper:int = -80;
var v:int = -32;
var p:Number = Math.abs((v - lower) / (Math.abs(upper - lower));

Я не проверял это - здесь нет компилятора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...