Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Вращающийся регулятор громкости. Как? (http://www.flasher.ru/forum/showthread.php?t=75936)

E.Q. 22.02.2006 20:35

Вращающийся регулятор громкости. Как?
 
Как можно сделать регулятор громкости(или чевото еще), который можно крутить, вращая зажатой мышкой по кругу(вроде как в некоторых скинах для пятого Винампа)?

Подскажите... :confused:

Homo Sapiens 22.02.2006 21:01

Вешаешь на регулятор onPress, с момента события отслеживаешь перемещение курсора по вертикали, соответстенно поворачиваешь регулятор, при событии onRelease прекращаешь слежение.

E.Q. 22.02.2006 21:12

Вложений: 1
Цитата:

Сообщение от Homo Sapiens
отслеживаешь перемещение курсора по вертикали

Это вобщем понятно как сделать, но как заставить его крутится при перемещении мышки не по какойто оси, а вокруг нее(оси), т.е. перемещая мышь по окружности, так чтобы маркер регулятора был повернут к курсору мыши?

Homo Sapiens 22.02.2006 21:30

Расчитывай угол, и строй касательную. Я не особо силён в математике, но вроде так

__i 22.02.2006 21:37

Простая геометрия !!!!

у тебя есть треугольник прямоугольный, и 2 катета (положение мыши относительно твоего центра регулятора по осям х и у) ну а там курс геометрии класс 6-7 %))

типа " тангенс прилежащего угла равен прилежащему катету деленному на противолежащий" (хотя может и наоборот противо лежащий на прилежащий) %))

из этого находишь угол на который нужно повернуть регулятор и поворачиваешь его!

Nox Noctis 23.02.2006 00:37

надеюсь, вопрос не из серии "сделайте всё за меня".

есть чудо-функция Math.atan2(y, x), которая возвращает арктангенс угла наклона вектора, определенного указанными координатами (y, x), относительно положительного направления оси абсцисс.

более того, эта функция возвращает значения
от -П радиан до +П радиан, тогда как обычный арктангенс Math.atan возвращает значения
от -П/2 до +П/2, как и положено одноименной математической фунции.

короче.
при помощи Math.atan2 ты можешь определить, под каким углом сейчас находится указатель мыши относительно какой-то точки.

допустим, у тебя есть клип с регулятором clip_mc, и его "нулевое" положение - горизонтально направо. тогда угол, на который нужно повернуть регулятор, чтобы он "смотрел" на указатель мыши равен:
Math.atan2(clip_mc._parent._ymouse-clip_mc._y, clip_mc._parent._xmouse-clip_mc._x);

K.A.T.A.F.A.L.K.E.R 23.02.2006 01:24

Цитата:

Сообщение от __i
тангенс прилежащего угла

Гы. Люблю математический юмор :D

Antares 23.02.2006 01:55

Катафалкеру плюс за флейм, автору -- устное предупрждение за ошибку разделом.

sergwizard 23.02.2006 03:24

Вложений: 1
Привет, Nox Noctis. А я так и понял, что этот вопрос из серии "сделайте всё за меня". Поэтому в таком же духе и отвечаю (благо, у меня завалялся старенький исходник).:)
З.Ы. Antares, я смотрю, ты постепенно вводишь здесь, на форуме казарменную дисциплину? Раньше здесь такого не наблюдалось. Ну, что ты, ее Богу, так церберствуешь и сатрапничаешь? Добрее будь. :)

Antares 23.02.2006 03:50

Сержвизард, ничего, пусть терпят.

Раньше такое число 15тилетних талантов, не умеющих читать, не набегало...


Часовой пояс GMT +4, время: 20:01.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.