![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Feb 2011
Сообщений: 1
|
Ситуация: в аудио-плеере есть горизонтальная линия изменения громкости звука. Она состоит из трэка и ползунка. Ползунок - это отдельный спрайт, который движется по трэку.
Вопрос: как разрешить ползунку двигаться только по оси X? В ActionScript 2.0 для этого можно было указать соответствующие параметры в startDrag, но в ActionScript 3.0 для startDrag эти параметры убрали. В настоящее время удалось только сделать следующий вариант: при MOUSE_DOWN ползунок двигается за мышью по всей сцене, а при MOUSE_UP возвращается на трэк. Этот вариант, как вы понимаете, меня не устраивает. |
|
|||||
|
Регистрация: Sep 2010
Сообщений: 47
|
Цитата:
Цитата:
|
|
|||||
|
очень глючная тема этот стартдраг
я обычно пользуюсь чем то таким private function initListeners(event:Event):void { _scroll.addEventListener(MouseEvent.MOUSE_DOWN, onDown); } private function onDown(event:MouseEvent):void { _xOffset = mouseX -_scroll.x; stage.addEventListener(MouseEvent.MOUSE_UP, onUp); addEventListener(Event.ENTER_FRAME, render); } private function render(event:Event):void { if(_scroll.x >= 0 && _scroll.x <= _track.width - _scroll.width) { _scroll.x = mouseX - _xOffset; } if(_scroll.x < 0)_scroll.x = 0; if(_scroll.x > _track.width - _scroll.width)_scroll.x = _track.width - _scroll.width; } private function onUp(event:MouseEvent):void { stage.removeEventListener(MouseEvent.MOUSE_UP, onUp); removeEventListener(Event.ENTER_FRAME, render); }
__________________
мира и гармонии Последний раз редактировалось 3p.station; 12.02.2011 в 16:49. |
|
|||||
|
[+3 18.04.11]
Регистрация: Dec 2010
Сообщений: 342
|
Вот пример со СтартДрэг
Можно использовать и обработчики событий MOUSE_UP и MOUSE_MOVE вместе с TweenLite, например. Завязка будет осуществляться к mouseX |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Я лично использую для скроллеров вариант аналогичный решению 3p.station'а (пост №3).
Тем более, что функция расчета смещения с учетом границ все равно нужна, когда привязываешь скролер к колесику мыша. Так что никакого выигрыша при использовании startDrag/stopDrag применительно к скроллерам нет. Даже наоборот. |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:01. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| startdrag , перетаскивание |
|
|