Форум 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=148403)

Ateist1630 29.12.2010 21:26

Привязка мувиков
 
Вложений: 1
День добрый, товарищи!
У меня есть мувик, который вращается курсором(назовём его 1) и простой бездействующий(назовём его 2). В 1 находится ещё один мувик(назовём его 3). Как мне программно сделать привязку 2 к 3, при том, что при вращении мышью 1, 2 остаётся лежать на 3 ?

mooncar 29.12.2010 21:59

Цитата:

Сообщение от Ateist1630 (Сообщение 960900)
Как мне программно сделать привязку 2 к 3

Какой смысл вы вкладываете в эти слова?

Ateist1630 29.12.2010 22:30

Мне нужно, чтобы мувик 2 был как бы прилеплен к мувику 3

goodguy 29.12.2010 22:48

Вопрос из ряда: сначала расшифруй сам вопрос, а потом придумай как это реализовать :D

Цитата:

В 1 находится ещё один мувик(назовём его 3). Как мне программно сделать привязку 2 к 3
думаю, использовать для вычисления координат 3го функцию globalToLocal() а по этим координатам двигать 2й мувик. Если я понял правильно

iflamberg 29.12.2010 22:51

Двигался вместе с ним, но не менял угол?

Ateist1630 29.12.2010 23:43

Да уж, обьяснять я не умею XDDDD Я имел ввиду, что 2 должен накладываться на 3 и двигаться вместе с ним, извиняюсь, что сразу не смог растолковать XDDDD
А как globalToLocal использовать?

Bgg 30.12.2010 00:02

Ну э, а может быть 2 вложить в 3?
Код AS3:

mcTwo.addChild(mcThree);


Ateist1630 30.12.2010 17:30

Что-то ничего не получается...

Добавлено через 1 час 23 минуты
Я начал искать информацию о globalToLocal, но ничего подходящего не нашёл, мне нужно, чтобы этот код находился в самом мувике, кодов в кадрах я избегаю, т.к. появляются проблемы, которые я до сих пор не смог решить...

rainbowrussia 30.12.2010 19:41

Если бы точка привязки 2го и 3го мувика была в центре - то _width/2 и _height/2 в обоих местах можно было бы убрать. А так вот код:
Код:

onClipEvent (enterFrame) {
        delta_x = this._x-_root.cross._x;
        delta_y = this._y-_root.cross._y;
        this._rotation = -Math.atan2(delta_x, delta_y)/(Math.PI/180);
       
        var myPoint:Object = {x:three._x + three._width/2, y:three._y + three._height/2};
        localToGlobal(myPoint);
        _parent.two._x = myPoint.x - _parent.two._width/2;
        _parent.two._y = myPoint.y - _parent.two._height/2;
}


Ateist1630 30.12.2010 19:52

Большое спасибо! Очень помогли!:)

Добавлено через 27 минут
Вот ещё один вопрос, не сочтите за наглость:)
А если 2 должен ещё и вращаться вместе с 3 ?


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

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