|
|
|||||
scrolling
люди, помогите.
Весь день бьюсь головой об стенку, пытаясь сделать примитивнейший скроллинг!.. ((( Пробовал через MOUSE_WHEEL но там есть огромная проблема, которая заключается в том, что фиг знает как задать вертикальные границы скроллинга. Ну, верхнюю понятно как, а вот нижнюю... Вот код функции прокрутки: var varDif=forScroll.scrollMov.height-350; forScroll.scrollMov.scrollRect = new Rectangle(0, 0, forScroll.scrollMov.width, 350); forScroll.scrollMov.cacheAsBitmap = true; var rect:Rectangle = forScroll.scrollMov.scrollRect; addEventListener(MouseEvent.MOUSE_WHEEL, scrolling); function scrolling(event:MouseEvent):void { if(event.delta >0) //если колесико вверх { if(rect.y>0) { rect.y -= 1; } forScroll.scrollMov.scrollRect = rect; } if(event.delta <0) //если колесико вниз { if(rect.y < 0-varDif) //моя жалкая попытка ограничить нижний скроллинг { rect.y += 1; forScroll.scrollMov.scrollRect = rect; } } } Добавлено через 31 час 41 минуту что, неужто никто не может помочь? Я перехожу со второго. Там все так было просто. Неужели в AS3 нет способа просто отловить событие колесика мышки и сделать по нему все, что хочешь? Так, чтобы это было по аналогии с MouseEvent.CLIK Ой, или я туплю... и addEventListener(MouseEvent.MOUSE_WHEEL, scrolling) это то самое и есть. Гы. Добавлено через 36 часов 16 минут вобщем я осознал свою тупость. Все-таки надо спать иногда... Размещаю код для скроллига (scroll) содержимого неизвестного размера под маской, мало ли кому понадобится в очередном приступе тупняка: /*переменная, узнающая разницу между высотой маски и высотой подгружаемого в нее содержимого. Это нужно для того, чтобы ограничить прокрутку вниз. muv - контэйнер, в котором все лежит, masker - клип-маска, scr - прокручиваемое содержимое*/ var varDif= muv.masker.height-muv.scr.height; //добавляем слушатель на прокрутку колесика muv.addEventListener(MouseEvent.MOUSE_WHEEL, scrolling); function scrolling(event:MouseEvent):void { if(event.delta >0) //если колесико вверх { //ограничиваем прокрутку вниз верхней границей маски if(muv.scr.y<0) { muv.scr.y+=5 }; }; if(event.delta <0) //если колесико вниз { //ограничиваем прокрутку вверх нижней границей маски if(muv.scr.y>varDif) { muv.scr.y-=5 }; } } единственный и довольно существенный минус состоит в том, что в данном случае скроллится в первую очередь страница, а потом уже содержимое. Было бы круто осуществлять захват скролллинга полностью, и я точно знаю, что это возможно, интересно только как. Последний раз редактировалось ZergMaster; 28.12.2009 в 18:26. |
|
|||||
|
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Название темы не отражает сути вопроса.
|
Часовой пояс GMT +4, время: 05:38. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|