![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jul 2004
Сообщений: 430
|
Народ привет, подскажите где почитать про то, как сделать динамическое вращение вокруг оси мувика. (т.е. мувик крутишь вокруг определенной точки) имеется ввиду драгом.... Если можно примерчик...
Спасибо! |
|
|||||
|
Модрон-ветеринар
|
Вот делал управление ручкой-шаттлом, может быть поможет вам, хотя реализвано и не "драгом".
Используется математическая функция арктангенса, потом переводим ее значения из радианов в градусы. Перед этим по условиям разбираем возможные значения внутренних координат мыши, чтобы всё корректно работало. Несколько кривовато, как я теперь думаю, но работает. Сам пример прилагается. //-----работа с ШАТТЛОМ-------------------------------------- //внутренние координаты мыши в мувике шаттла var rulxm:Number; var rulxm:Number; //угол поворота руля шаттла var a:Number; //организация вращения руля шаттла shMC.rulMC.butMC.onPress = function() { var mouseListenerRul:Object = new Object(); mouseListenerRul.onMouseMove = function() { rulxm = shMC._xmouse; rulym = shMC._ymouse; if (rulym > 0 && rulxm > 0) { a = 90 + (Math.atan(rulym/rulxm))*57.3; //приведение к градусам shMC.rulMC._rotation = a; } else if (rulym > 0 && rulxm < 0) { a = 270 + (Math.atan(rulym/rulxm))*57.3; shMC.rulMC._rotation = a; } else if (rulym < 0 && rulxm < 0) { a = 270 + (Math.atan(rulym/rulxm))*57.3; shMC.rulMC._rotation = a; } else if (rulym < 0 && rulxm > 0) { a = 90 + (Math.atan(rulym/rulxm))*57.3; shMC.rulMC._rotation = a; } else if (rulym < 0 && rulxm == 0) { shMC.rulMC._rotation = 0; } else if (rulym > 0 && rulxm == 0) { shMC.rulMC._rotation = 180; } else if (rulym == 0 && rulxm < 0) { shMC.rulMC._rotation = 270; } else if (rulym == 0 && rulxm > 0) { shMC.rulMC._rotation = 90; } };// end onMouseMove Mouse.addListener(mouseListenerRul); mouseListenerRul.onMouseUp = function() { Mouse.removeListener(mouseListenerRul); }; //end onMouseUp }; //end onPress Последний раз редактировалось mooncar; 02.05.2009 в 12:46. |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:46. |
|
|
« Предыдущая тема | Следующая тема » |
|
|