|
|
|||||
scrolling
Как самому создать скролл через *AS*? Мне нужно из скролбара (который я сам нарисовал) сделать работающий скролинг. Я искал в исходниках - не нашел
Задача такая - сделать горизонтальный скролбар на всю ширину экрана, который бы горизонтально скролил картинку шириной в 5000 пикселей. Спасибо.
__________________
d0dge. |
|
|||||
Регистрация: Apr 2002
Адрес: Ukraine Kyiv
Сообщений: 51
|
есть такая идея: (для удобства описываю и саму кнопку скролинга)
делаешь клип кнопки скролинга (прошу прощения за терминологию), ну бегунок другими словами. называешь, например, scrollBar дальше, пусть твой клип бегунка перемещается в пределах окна мувика, причем левая граница бегунка - leftBorder (крайнее левое значение координаты х), а правая граница - rightBorder пишешь в кадре сценарий для клипа scrollBar: onClipEvent(mouseDown) { //т.е. кнопка мыши нажата и удерживается на бегунке //изменяем только координату х, т.к. бегунок вертикально неподвижен if ((_xmouse >= leftBorder) && (_xmouse <= rightBorder)){ scrollBar._x = _xmouse; } if (_xmouse < leftBorder) scrollBar._x = leftBorder; if (_xmouse > righttBorder) scrollBar._x = rightBorder; //выше перечисленные проверки обеспечивают нахождение бегунка в допустимой области //и перетаскивание мышкой placePicture();//описывается ниже } пусть также картинка, которая имеет ширину 5000 пикселей определена как клип с названием picture ее расположение относительно окна мувика можно менять, модифицируя свойство _x причем расположение бегунка однозначно будет определять координату х картинки. остается написать функцию соответствия положения бегунка положению картинки пусть крайнее левое положение бегунка соотв-ет крайнему левому положению картинки, которое опр-ся координатой leftPos. rightPos соотв-но function placePicture(){ k = (rightPos - leftPos) / (rightBorder - leftBorder); //коэф-ент масштабирования position = leftPos * (1 + k); //текущая позиция картинки picture._x = position; } вроде должно работать...
__________________
up the irons! |
|
|||||
Регистрация: Apr 2002
Адрес: Ukraine Kyiv
Сообщений: 51
|
м-да...
проглючило меня. я неправильно написал функцию. я ведь не учел положение самого клипа бегунка исправляюсь: function placePicture(){ k = (rightPos - leftPos) / (rightBorder - leftBorder); //коэф-ент масштабирования position = leftPos + (scrollBar._x - leftBorder) * k; //текущая позиция картинки picture._x = position; }
__________________
up the irons! |
|
|||||
[+1.4 - 25.03.2006]
Регистрация: Aug 2002
Адрес: St-Петербург
Сообщений: 92
|
Есть готовое
Плохо искал в исходниках!
в "элементах интерфейса" лежит мой "скроллер на 1.5 Кб" - ищи не по названию, а по имени автора - JudgeFog. Там все предельно элементарно (для МХ) |
|
|||||
blackhund, я не понимаю, как я могу в КАДРЕ написать сценарий для клипа? Ведь в кадре нельзя поставить "OnclipEvent()". Это ведь можно поставить только в сценарии самого клипа...?
__________________
d0dge. |
|
|||||
Регистрация: Oct 2002
Адрес: Украина, Каменец-Подольский
Сообщений: 105
|
не правда!!!
можно сделать...
на вскидку... НУ скажем двумя способами: В злосчастном, вредном и противном кадре написать: _root.onEnterFrame= function() { ... }, а хотя это ведь невозможно и второй: развивая blackhund-а: на бегунке, структура которого :: movie clip, а в нем button (который собственно и обрабатывает on(press), on(release)) :: пишешь: onClipEvent (enterFrame) { _root.placePicture() /* вызов функции */ } дерзай!!!
__________________
...и пролился на него свет, и выросла тень позади него... |
|
|||||
Alexey (G-fi), вторая мысль не ясна
Все равно не удается привести бегунок в движение
__________________
d0dge. |
|
|||||
Pietrovich, файл не качается, вышли его плиз на alex@nnet.org.
__________________
d0dge. |
|
|||||
Re: Есть готовое
Цитата:
corvuz@mail.ru.no.spam а то он никак скачиваться не желает - хоть ты тресни =((( а ведь очень надо. я не флэшер, но возникла такая ситуация =(( |
Часовой пояс GMT +4, время: 14:06. |
|
« Предыдущая тема | Следующая тема » |
|
|