Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 22.02.2006, 20:35
E.Q. вне форума Посмотреть профиль Отправить личное сообщение для E.Q. Посетить домашнюю страницу E.Q. Найти все сообщения от E.Q.
  № 1  
E.Q.
 
Аватар для E.Q.

Регистрация: Feb 2006
Сообщений: 425
Отправить сообщение для E.Q. с помощью ICQ
Question Вращающийся регулятор громкости. Как?

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

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

Старый 22.02.2006, 21:01
Homo Sapiens вне форума Посмотреть профиль Отправить личное сообщение для Homo Sapiens Посетить домашнюю страницу Homo Sapiens Найти все сообщения от Homo Sapiens
  № 2  
Homo Sapiens
 
Аватар для Homo Sapiens

Регистрация: Nov 2004
Адрес: Санкт-Петербург
Сообщений: 751
Вешаешь на регулятор onPress, с момента события отслеживаешь перемещение курсора по вертикали, соответстенно поворачиваешь регулятор, при событии onRelease прекращаешь слежение.
__________________
Всё гениальное просто.

Старый 22.02.2006, 21:12
E.Q. вне форума Посмотреть профиль Отправить личное сообщение для E.Q. Посетить домашнюю страницу E.Q. Найти все сообщения от E.Q.
  № 3  
E.Q.
 
Аватар для E.Q.

Регистрация: Feb 2006
Сообщений: 425
Отправить сообщение для E.Q. с помощью ICQ
Цитата:
Сообщение от Homo Sapiens
отслеживаешь перемещение курсора по вертикали
Это вобщем понятно как сделать, но как заставить его крутится при перемещении мышки не по какойто оси, а вокруг нее(оси), т.е. перемещая мышь по окружности, так чтобы маркер регулятора был повернут к курсору мыши?
Изображения
 


Последний раз редактировалось E.Q.; 22.02.2006 в 21:30. Причина: Проиллюстрировал
Старый 22.02.2006, 21:30
Homo Sapiens вне форума Посмотреть профиль Отправить личное сообщение для Homo Sapiens Посетить домашнюю страницу Homo Sapiens Найти все сообщения от Homo Sapiens
  № 4  
Homo Sapiens
 
Аватар для Homo Sapiens

Регистрация: Nov 2004
Адрес: Санкт-Петербург
Сообщений: 751
Расчитывай угол, и строй касательную. Я не особо силён в математике, но вроде так
__________________
Всё гениальное просто.

Старый 22.02.2006, 21:37
__i вне форума Посмотреть профиль Отправить личное сообщение для __i Найти все сообщения от __i
  № 5  
__i
 
Аватар для __i

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
Простая геометрия !!!!

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

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

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


Последний раз редактировалось __i; 22.02.2006 в 21:39.
Старый 23.02.2006, 01:24
K.A.T.A.F.A.L.K.E.R вне форума Посмотреть профиль Отправить личное сообщение для K.A.T.A.F.A.L.K.E.R Найти все сообщения от K.A.T.A.F.A.L.K.E.R
  № 6  
K.A.T.A.F.A.L.K.E.R
 
Аватар для K.A.T.A.F.A.L.K.E.R

Регистрация: Jul 2005
Адрес: Go, Ukraine!
Сообщений: 787
Отправить сообщение для K.A.T.A.F.A.L.K.E.R с помощью ICQ
Цитата:
Сообщение от __i
тангенс прилежащего угла
Гы. Люблю математический юмор

Старый 23.02.2006, 00:37
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 7  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
надеюсь, вопрос не из серии "сделайте всё за меня".

есть чудо-функция 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);

Старый 23.02.2006, 04:06
E.Q. вне форума Посмотреть профиль Отправить личное сообщение для E.Q. Посетить домашнюю страницу E.Q. Найти все сообщения от E.Q.
  № 8  
E.Q.
 
Аватар для E.Q.

Регистрация: Feb 2006
Сообщений: 425
Отправить сообщение для E.Q. с помощью ICQ
Наконецто я сделал, его.

Только были проблемы с том, как сделать так, чтобы значение громкости начиналось с левого нижнего положения. Не найдя ничего более простого решил использовать простую арифметику:
Код:
if (_root.rotaT<135) {
	_root.rota = _root.rotaT+225;
} else {
	_root.rota = _root.rotaT-135;
}
Теми же if'ами отключил поворот за пределы шкалы:
Код:
if (angl<315 && angl>=270) {
	angl = 315;
}
if (angl<270 && angl>225) {
	angl = 225;
}
Спасибо всем кто помог.
Изображения
 
Вложения
Тип файла: rar roto.rar (20.1 Кб, 121 просмотров)

Создать новую тему Закрытая тема Часовой пояс GMT +4, время: 01:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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