![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2008
Сообщений: 6
|
Доброго времени суток!
Встала передо мной задача, часть которой заключается в использовании изогнутого слайдера для вращения изображения наподобие того, как реализовано здесь http://www.dancingsantacard.com/en/ Ушла почти неделя поисков в интернете и головоломки. Безрезультатно. В итоге, меня осенило, и я написал слайдер в виде правильного полукруга, вычисляя позицию указателя по тригонометрическим функциям. Текущая задача решена, но полного удовлетворения нет, более того, если понадобится сделать слайдер не правильным полукругом, а некой дугой, снова будет тупик. Теоретически, для любого слайдер в виде симметричной относительно оси y линии можно написать соответствующую функцию, и использовать тот же подход. Но что если понадобится слайдер в виде зигзага, или другой кривой, для которой вышеприведенный подход будет неприемлем? У меня ощущение, что я упускаю нечто очевидное, но что - не пойму. Если ли в AS3.0 возможность сделать слайдер, привязав его указатель к некой кривой, наподобие анимации, реализованной с помощью guide во флеше? Прошу прощения за стену текста, кратко изъясниться не удалось ![]() Заранее благодарен за любые идеи или ссылки для "почитать". |
|
|||||
|
Регистрация: May 2008
Сообщений: 6
|
Хмм, а как подобный подход обеспечит плавное скольжение ручки слайдера кривой линии?
Быть может по-другому озвучить задачу: как заставить некий объект двигаться по определенному пути при помощи drag&drop и иметь при этом возможность получить процентное значение пройденного ручкой пути? |
|
|||||
|
Modus ponens
|
Ну если по кривой - поищите алгоритм нахождения точки на кривой по двум опорным точкам и якорю.
Google answers По ломаной - есть встроеная функция, которя считает координаты между двумя точками в процентом соотношении: Point.interpolate(). Если вы не сможете получить путь в процентном соотношении - тогда у вас ничего не получится, даже на прямой...
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: May 2008
Сообщений: 6
|
Интересно, займусь этим алгоритмом на досуге.
И все же, неужели в ас3 нет никаких механизмов для решения данной задачи? Казалось бы, должно быть достаточно востребованным. Меня смущает то, что во флеше есть механизм для реализации анимации объекта, привязанной к линии (path). Неужели нет ничего похожего в ас3? |
|
|||||
|
Регистрация: Jul 2009
Адрес: Москва
Сообщений: 99
|
http://bezier.ru/ может тут есть то что вам нужно
|
|
|||||
|
на самом деле во флеше есть механизм позволяющий решит то что вам нужно... это класс Math ))
ну во первых слайдер зигзагом это оч круто...)) а во вторых, все это так или иначе решается... Либо через кривые либо через еще какой нить математический механизм. А guide этих нет во Flash Api. И судя по всему они явлются частным применением обычных твинов и математики. |
|
|||||
|
Регистрация: May 2008
Сообщений: 6
|
Да, шикарно, просто шикарно. Спасибо большое за безье. Точнее - за ссылку на класс.
Не только поставленную задачу решает, но и дает кучу новых мыслей и идей. Цитата:
Вопрос в основном заключался в том, есть ли более-менее готовые механизмы для реализации задачи. И приведенный выше класс для работы с безье - пока максимально подходит для моих нужд. Было бы шикарно, если бы кто-то предложил еще идеи, но пока я более чем удовлетворен и смогу спать спокойно ![]() Последний раз редактировалось ShadeSlider; 06.12.2009 в 03:42. |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:48. |
|
|
« Предыдущая тема | Следующая тема » |
|
|