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

In8Finity 22.03.2010 17:13

координаты вложенного клипа
 
Я аттачу клип А. Потом его как-то на сцене программно двигаю.
Потом внутрь него аттачу клип В и хочу, чтобы этот клип В у меня обязательно был в углу экрана (по координатам 0,0), а не в углу клипа А.

Есть такой вот код:

Код AS1/AS2:

attachMovie("a","a",1);
a._x = 0;
a._y = 0;
 
a._x = 100;
 
a.attachMovie("b","b",2);
b._x = 0;
b._y = 0;

Подскажите, как клипу В задать нужные мне координаты относительно экрана, а не относительно клипа А? При этом, чтобы В был внутри А.
Подозреваю, что как-то, используя localToGlobal, но не могу понять как.

udaaff 22.03.2010 17:21

Не localToGlobal(), а globalToLocal(), т.е. точку (0, 0) нужно из глобальных координат перевести в локальные координаты клипа А. Как использовать в хелпе написано.

In8Finity 22.03.2010 18:08

В хелпе нашёл вот такой кусок кода:

Код AS1/AS2:

 onClipEvent(mouseMove) {
        point = new object();
        point.x = _root._xmouse;
        point.y = _root._ymouse;
        globalToLocal(point);

Совсем непонятно, как это можно прикрутить к моему случаю. Я, конечно, извиняюсь, за возможно, совсем детский вопрос, но я правда не могу отыскать решение.

iflamberg 22.03.2010 18:14

Код:

attachMovie("a","a",1);
a._x = 0;
a._y = 0;
 
a._x = 100;
 
a.attachMovie("b","b",2);
p = {x:0,y:0};
a.globalToLocal (p);
trace (p.x); trace (p.y);
b._x = p.x;
b._y = p.y;

но теперь при перемещении a, b тоже сместится со своего левого верхнего угла. Может всё таки b следовало атачить над a, а то логика не понятна.

In8Finity 22.03.2010 18:28

iflamberg: так по логике и задумано. спасибо. сейчас попробую

Добавлено через 1 час 2 минуты
Всё работает. Ещё раз спасибо. Единственное, последние две строчки должны выглядеть так:
Код AS1/AS2:

a.b._x = p.x;
a.b._y = p.y;



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

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