Это, вероятно, достаточно просто, но по какой-то причине я просто не могу его взломать (ну, на самом деле это потому, что я ужасно разбираюсь в математике!).
У меня есть окно просмотра, которое показывает 800 пикселей за раз, и я хочу переместить его влево и вправо на виртуальное количество пикселей, скажем, 2400 пикселей в ширину.
Я использую относительное положение полосы прокрутки (0-1), чтобы определить виртуальный пиксель, в который должен был переместиться видовой экран.
У меня есть цикл n = 800, через который я бегу.
Я хочу начать чтение массива точек заговора с позиции, указанной мне ползунком, и перебрать следующие 800 точек из этой точки.
Проблема, с которой я столкнулся, заключается в том, что моя полоса прокрутки полностью направлена вправо, а ее относительное положение = 1, моя точка чтения = 2400 ..... что, в некотором смысле, правильно. Но это заставляет мое положение чтения точек рисования переходить к последней точке, и когда я начинаю свою итерацию, у меня не остается точек для чтения.
Исходя из того, что я переместил анализ скользящей рамки шириной 800 пикселей, левая точка рамки в этом случае должна быть 1600, а ее правая точка - 2400
Как мне этого добиться?
Нужна ли какая-то формула отображения значений?
private function calculateShuttleRelativePosition():void
{
var _x:Number=_scrollthumb.x
_sliderCenter=_x + (_scrollthumb.width / 2)
_sliderRange=_scrollbar.width - _scrollthumb.width;
_slider_rel_pos=(_sliderCenter - _sliderCenterMinLeft) / _sliderRange
}
pixel = slider relative position * 2400
readpoint= pixel