Просмотр полной версии : Перемещение ползунка
Netter2007
20.03.2008, 01:28
Хочу сделать ползунок для регулирования громкости звука.
mc.onPress = function() {startDrag (this,false,20,85,135,85);
}
mc.onMouseUp = function () {stopDrag ();}
mc.onRollOut = function () {stopDrag ();}
Не могу победить ситуацию, когда при нажатой клавише мыши уходишь с ползунка , он продолжает двигаться.
Не помогает и
mc.onRollOut = mc.onRelease=mc.onDragOut;
Помогите пожалуйста написать корректный стабильный код для этой вроде простой задачки.
Так и должно быть. Это стандратная модель поведения.
Посмотрите на регулятор громкости windows, там тоже самое.
Netter2007
20.03.2008, 02:21
так все таки может подскажите как все таки сделать чтобы работал как я хочу, то есть при уходе с ползунка при нажатой клавише мыши он оставался на месте , может как то через флаг
Netter2007
20.03.2008, 02:26
или как то покадровым перемещением ?
hitTest'ом проверяйте
upd:
еще вариант:
movieClip.isDragging = false;
movieClip.onPress = function()
{
this.startDrag(false, 0, this._y, Stage.width, this._y);
this.isDragging = true;
}
movieClip.onRelease = function()
{
this.stopDrag();
this.isDragging = false;
}
movieClip.onReleaseOutside = movieClip.onRelease;
movieClip.onDragOut = function()
{
stopDrag();
}
movieClip.onDragOver = function()
{
if (this.isDragging)
this.startDrag(false, 0, this._y, Stage.width, this._y);
}
Только не понятно, для чего это изваращение надо.
Netter2007
20.03.2008, 12:57
Почему извращение ?
Вот например Вы когда двигаете ползунок например в магнитофоне, он же у Вас не продолжает двигаться когда вы отнимаете от него руку и например водите ее по носу, почему же во флэш должно быть по другому ?
А то что iNils указал на такую реализацию в Виндовс ( э то для меня было неожиданностью) - вот это я считаю извращением.
Это что задумано так , ил по другому нельзя реализовать.?
И по моему случаю, я НЕ ПОЙМУ почему если есть событие для мыши реагирование на выход с мувиклиппа с нажатой клавишей, почему это гне срабатывает для stopDrag() ??
Извращение потому, что на движения на компьютере, в отличии от рельной жизни, не имеют тактильных ощущений, поэтому контролировать положение мыши на ползунке, приходится глазами. А теперь попробуйте это сделать, когда у вас размер ползунка 5 пикселей, а вам при этом надо еще и текст скроллированный читать. А бывают еще и круглые скроллы, где вообще не предусмотренно нахождение мыши на ползунке - захватил и повел в стороны.
Это стандарт, любой пользователь знает, что захватив ползунок, он больше не должен его контролировать до отпускание оного, а просто двигать мышь в нужной плоскости и получить ожидаемый результат.
А реализуя сейчас собственную модель, вы вынудите пользователя вспоминать вас нехорошими словами, как только мышь покинет приделы ползунка и движение прекратиться.
Netter2007
20.03.2008, 16:27
Полностью убедили, да и работы меньше.
Спасибо. Тема закрыта.
Netter2007
20.03.2008, 16:29
Послесловие iNils
И все таки в качестве ликбеза.
Обьясните почему в э том случае не срабатывает событие вывода мыши с объекта при нажатой левой клавише ?
Народ помогите!
Как привязать ползунок к данным. У меня такая проблема.Говорю сразу я новичек и соображаю очень плохо пока. У меня 2 ползунка, "время" и "сила" мне надо привязать результаты, которые будет выбирать уже пользователь к графику, который отражается типа на осцилографе(прибор показывающий эл.импульс). Как мне это сделать?
При изменении силы и времени кривая на графике должна меняться, при чем это будет типа парабола, или гипербола, чет я забыл, короче плавно вверх, а потом вниз переходит. Вот. КАК ЭТО СДЕЛАТЬ?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.