![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2011
Сообщений: 2
|
Подскажите, пожалуйста, как решить такую задачу:
Есть сделанный во флеше скроллер. Он работает в таком варианте: зажимаешь кнопку мыши, тянешь ползунок вниз, отпускаешь после этого меню поднимается вверх (изменяются координаты по y). onClipEvent (load) { } onClipEvent (mouseDown) { stPoint = this._y; if (this.hitTest(_root._xmouse, _root._ymouse, 1)) { this.startDrag(this, false, 430, 0, 75, -51); } } onClipEvent (mouseUp) { this.stopDrag(); fnPoint = this._y; speed = fnPoint - stPoint; newPos = _root.lmenu_mc._y; newPos = (newPos + (speed * (-2))); trace(speed); trace(newPos); _root.lmenu_mc._y = newPos; } А хотелось бы достичь такого результата - мышь наводится на ползунок, нажимается кнопка, тянется вниз и в этот же момент начинают пропорционально менятся координаты мыши. Пока что получилось вот так: onClipEvent (load) { } onClipEvent (mouseMove) { stPoint = this._y; if (this.hitTest(_root._xmouse, _root._ymouse, true)) { this.startDrag(this, false, 430, 0, 75, 0); fnPoint = _root._ymouse; trace(fnPoint); speed = fnPoint - stPoint; newPos = _root.lmenu_mc._y; newPos = (newPos + (speed * (-2))); _root.lmenu_mc._y = newPos; } else { this.stopDrag(); } } 1. Как можно одновременно прописать проверку двух условий при onClipEvent (mouseMove) - hitTest и mouseDown? Просто добавлением через & в if не получилось. А так получается, что ползунок бегает за мышкой без нажатия кнопки. 2. При перетягивании ползунка вниз все работает, при перетягивании вверх не срабатывает условие hitTest. Как можно побороть эту проблему? Заранее спасибо. Последний раз редактировалось udaaff; 20.01.2011 в 01:20. Причина: Соблюдайте правила табуляции. |
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
Пишите код в кадрах. Иначе запутаетесь.
скроллбар.бегунок.onPress = function() { this.pressed = true; this.offsetY = this._ymouse; }; скроллбар.бегунок.onMouseUp = function() { this.pressed = false; }; скроллбар.onMouseMove = function() { if (this.бегунок.pressed) { this.бегунок._y = this._ymouse-this.бегунок.offsetY; // Далее крутим контент и ограничиваем перемещение бегунка } };
__________________
hauts.ru Последний раз редактировалось Hauts; 20.01.2011 в 08:57. |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 2
|
Спасибо, попробую = )
|
![]() |
![]() |
Часовой пояс GMT +4, время: 07:06. |
|
|
« Предыдущая тема | Следующая тема » |
|
|