![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 18
|
Здравствуйте, возник маленький вопрос.
У нас есть клип (mc), который нужно вращать за курсором мыши. Начальный угол поворота зависит от положения внутреннего клипа (butt). Теперь вопрос: как правильно определить поворот, если внутренний клип (butt) будет смещаться? Вот начальное определение угла поворота клипа (mc): var active:Boolean = false; mc.butt.onPress = function() { active = true; }; mc.butt.onRelease = mc.butt.onReleaseOutside=function () { active = false; }; this.onMouseMove = function() { if (active == true) { /// ОПРЕДЕЛЯЕМ ПОВОРТ ОТНОСИТЕЛЬНО МЫШИ И МЕНЯЕМ УГОЛ ПОВОРОТА СООТВЕТСТВЕННО ТОЧКИ (мувика, который находится внутри). mc._rotation = Math.atan2(_ymouse-mc._y, _xmouse-mc._x)*180/Math.PI+Math.atan2(mc._y-mc.butt._y, mc._x-mc.butt._x)*180/Math.PI; } }; Подскажите пожалуйста, как правильно сделать. Вот пример: |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 101
|
убежало одеяло, улетела простыня
и подушки как лягушки ускакали от меня это к тому, что по простому клику мышкой начинает прыгать влево кнопка верчения накладка в том, что кнопка должна перетаскиваться мышкой и одновременно вложена во вращающийся мувик, вытащи ее и измени ссылки на нее в коде ну и немного по коду это абсолютно одинаковый с точки зрения компилятора код, так зачем писать больше? |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 18
|
Цитата:
Цитата:
Цитата:
|
|
|||||
|
Регистрация: Oct 2009
Сообщений: 101
|
*со второй попытки понял вопрос...
понял и проблему - кнопка и мувиклип находятся в разных системах координат, для меня проще работать с двумя невложенными мувиклипами, но иногда приходится использовать mc.localToGlobal(); mc.globalToLocal(); тут написано поподробнее: http://www.flasher.ru/forum/showthre...=localToGlobal Добавлено через 39 минут попытался использовать такой код: var muu:Object = { x:0, y:0 }; var buu:Object = { x:0, y:0 }; mc.localToGlobal(buu); var active:Boolean = false; mc.butt.onPress = function() { mc.butt.localToGlobal(muu); trace(muu.x+"???????"+muu.y) active = true; }; mc.butt.onRelease = mc.butt.onReleaseOutside=function () { active = false; }; this.onMouseMove = function() { if (active == true) { //mc.butt.localToGlobal(muu); /// ОПРЕДЕЛЯЕМ ПОВОРТ ОТНОСИТЕЛЬНО МЫШИ И МЕНЯЕМ УГОЛ ПОВОРОТА СООТВЕТСТВЕННО ТОЧКИ (мувика, который находится внутри). mc._rotation = Math.atan2(_ymouse-muu.y, _xmouse-muu.x)*180/Math.PI+Math.atan2(muu.y-buu.y, muu.x-buu.x)*180/Math.PI; } }; |
|
|||||
|
Регистрация: Jan 2008
Сообщений: 18
|
Цитата:
т.е. я добавлял с учетом разницы главного мувика (mc) и вложенного (butt), когда было достаточно узнать разницу координат вложенного мувика от нулей. Проще выражаясь: и все работает, учитывая смещение. |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:59. |
|
|
« Предыдущая тема | Следующая тема » |
|
|