![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2006
Сообщений: 56
|
Я нарисовала линейку, на которой есть метки 1, 2, 3 и т.д. По этой линейке пользователь будет двигать ползунок выбирая значение. Как мне сделать, чтобы ползунок двигался строго по меткам, т.е. нельзя было установить его между метками, например, 4 и 5.
По нажатию мышкой по ползунку я начинаю StartDrag с ограничением, чтоб двигать можно было только по горизонтали в пределах линейки. А как установить шаг передвижения? ![]() |
|
|||||
|
Попробуй сделать так. Хиттестом (а лучше координатами) задавать значение 1,2,3 и т.д., когда ползунок будет между цифрами. то есть разделить всю линейку на целые числа и в зависимости от положения ползунка выдавать целые же числа.
|
|
|||||
|
Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
|
короче алгоритм такой, шаг = сколько то пикселей, деля координату текущую на шаг, и округляя в нужную сторону получим координату шаговую )))
|
|
|||||
|
Один другого мудренее =))
|
|
|||||
|
Регистрация: Jun 2006
Сообщений: 56
|
Цитата:
|
|
|||||
|
Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
|
...надо всего-лишь подумать...алгоритм я написал...
пользуетесь startDrag наверное...его отменяем теперь пишем функцию |
|
|||||
createEmptyMovieClip('roll', 1)
roll.lineStyle(0);
roll.beginFill(0xff0000);
roll.lineTo(0, 20);
roll.lineTo(20, 20)
roll.lineTo(20, 0)
roll.lineTo(0, 0)
function snapDrag(){
step = 30 //шаг
roll._x = 300;
roll._y = Math.round(_ymouse/step)*step
roll._y -= roll._height /2 ///для центровки по оис у
}
setInterval(snapDrag, 30)
|
|
|||||
|
Регистрация: Jun 2006
Сообщений: 56
|
Цитата:
![]() |
|
|||||
|
Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
|
резвая у вас мышка )
|
![]() |
![]() |
Часовой пояс GMT +4, время: 14:03. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|