PDA

Просмотр полной версии : Круговой скроллинг


BMF
07.02.2002, 18:20
Ну как делать скроллинг линейно, туда-суда, это просто...
А у кого есть идея как сделать скроллинг по кругу, то есть чтобы можно было крутить какие-нибудь тумблеры, колёсики и шестерёнки интерактивно, перетаскиванием?

ivigor
07.02.2002, 18:57
вот так, что ли?
http://www.scriptimage.com/works/ball.html

RFMitrio
07.02.2002, 19:27
Не шестеренка, но крутить можно:) (http://www.deline.flashmaster.ru/flash/effects/rollburg.html) Сектора картинки мышкой вращай :)

BMF
07.02.2002, 21:56
Во-во!Вот так!
А как это сделать, подскажите?Скриптом интерактивно я крутить мувик могу, а вот таскать его мышкой....

Maks
08.02.2002, 04:25
Я, конечно, примеры не смотрел, которые здесь показывали. Но идея такая: делаешь мув, в нем анимация - вращение tween'ом один оборот. Затем вешаешь на мышу мув, отслеживаешь координаты, скажем, по x, и, умножив их на определенный коэффициент, чтобы получить соответствующий номер кадра, говоришь муву идти на него.

BMF
08.02.2002, 13:47
2Maks:
Да, такой способ возможен, но если уж отслеживать движение мыши то не проще ли будет задавать _rotation мувику а не прыгать на нужный кадр?Да и к тому же, что меня интересовало, так этот самый коофициент, эта формула по которой можно перевести _xmouse и _ymouse в мувик._rotation
Как я понимаю, без геометрии тут не обойдёшься, я в ней не силён, и вот думал тут спецы - помогут:)

ivigor
08.02.2002, 14:04
x0, y0 - центр вращения

_rotation = 180*Math.atan2(x0-_xmouse, y0-_ymouse)/Math.PI

RFMitrio
08.02.2002, 14:16
Так плохо, потому что не получить значение арктангенса, близкое п ПИ/2! Лучше делать через арккосинус с контролем знака синуса! :) :)

ivigor
08.02.2002, 14:21
зато просто

"значение арктангенса, близкое п ПИ/2" - а зачем?

BMF
08.02.2002, 14:30
Вот за что я люблю этот форум, так за то что ту всегда найдутся знающие люди!
Спасибо большое:))

BMF
08.02.2002, 14:50
Только одна маааленькая поправка:
Я сделал всё по этой формуле, но мувик стал крутиться в обратную сторону.В общем, не проблема, я только перед 180 поставил минус и всё стало на свои места.Всё равно, большое спасибо!

ivigor
08.02.2002, 15:05
2 BMF
Возможно, я просто чуток ошибся - главное же принцип - остальное в процессе можно подогнать.

вот так
_rotation = 180*Math.atan2(y0-_ymouse, x0-_xmouse)/Math.PI
или вот так
_rotation = 180*Math.atan2(_xmouse-x0, _ymouse-y0)/Math.PI
должно без минуса работать (честно скажу - не проверял)

BMF
10.02.2002, 12:58
Спасибо
С помощью этой формулы я наконец-то смог сделать штуку, над которой бился несколько месяцев - соединить две хаотично передвигающиеся точки линией
Класс!:)