![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Mar 2010
Сообщений: 4
|
Привязать мувик(mc1) к мувику(mc2) у меня получается без проблем.
На подобе этого кода: Но если я пытаюсь копировать положение мувика(mc2a), который вложен в другой(mc2), то естественно копируется не глобальное положение мувика(mc2a), а положение по координатам мувика(mc2) в который он вложен. тобишь так уже не работет: Ладно бы если бы только положение беда в том что мувик (mc2) вращаться как колесо, а к одной из точек колеса надо приклеить другой мувик(mc1) - это я для примера. Может есть какое решение? |
|
|||||
|
[+4 27.05.10]
[+4 29.05.10] |
Возможно, не совсем правильно понял постановку вопроса.
Относительное положение можно легко превращать в глобальное сложением координат: Т.е., исправляя твой код, получится: Вычеслять эту точку можно таким же способом. |
|
|||||
|
Модрон-ветеринар
|
Для этого есть методы MovieClip.localToGlobal и MovieClip.globalToLocal.
Смотрите хелп. |
|
|||||
|
Регистрация: Mar 2010
Сообщений: 4
|
Тупо сложение к сожалению не поможет надо учитывать вращение мувика(mc2).
А остальное посмотрим спасибо!) |
|
|||||
|
Viktorcor
Тоже парился когдато над такойже ситуацией ![]() http://www.flasher.ru/forum/showthread.php?t=121735
__________________
Дети не должны знать о своих родителях |
|
|||||
|
Регистрация: Mar 2010
Сообщений: 4
|
Ооо круто! сейчас попробую. Спасибо!)) |
|
|||||
|
Регистрация: Mar 2010
Сообщений: 4
|
Вообщем всё получилось, вот такой код в итоге:
// на сцене 2 клипа: // 1-ый с названием Fire и 2-ой с названием bahna, также внутри второго имееться клип FirePoint // вращение мувика bahna плюс цикл с функцией задержки. setInterval(cor,10); function cor() { _root.xm = _root._xmouse; _root.ym = _root._ymouse; _root.bahna._rotation = _root.ym * (1); // САМА ФУН-ИЯ function getXandY() { // пифагор dlina=Math.sqrt(((targetClip._y*targetClip._y)+(targetClip._x*targetClip._x))); // ugol delta_x = -targetClip._x; delta_y = -targetClip._y; ugol = (-Math.atan2(delta_x, delta_y)/(Math.PI/180))-90; //raschet resultX=targetClipRoditel._x+ (dlina*Math.cos((targetClipRoditel._rotation+ugol)*(Math.PI/180))); resultY =targetClipRoditel._y+ (dlina*Math.sin((targetClipRoditel._rotation+ugol)*(Math.PI/180))); resultRotation=targetClipRoditel._rotation; } // // // Теперь пробуем её использовать // Задаём ей цель targetClipRoditel = _root["bahna"]; targetClip=targetClipRoditel["FirePoint"]; // Врубаем фун-ию getXandY(); // Функция выводит нам нужные кординаты, которые в последущем можно свободно использовать, например так: _root.Fire._x=resultX; _root.Fire._y=resultY; _root.Fire._rotation=resultRotation; } - Спасибо большое выручил.! ) |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:03. |
|
|
« Предыдущая тема | Следующая тема » |
|
|