Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.03.2010, 17:13
In8Finity вне форума Посмотреть профиль Отправить личное сообщение для In8Finity Найти все сообщения от In8Finity
  № 1  
Ответить с цитированием
In8Finity

Регистрация: Jan 2010
Сообщений: 187
По умолчанию координаты вложенного клипа

Я аттачу клип А. Потом его как-то на сцене программно двигаю.
Потом внутрь него аттачу клип В и хочу, чтобы этот клип В у меня обязательно был в углу экрана (по координатам 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, но не могу понять как.

Старый 22.03.2010, 17:21
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Не localToGlobal(), а globalToLocal(), т.е. точку (0, 0) нужно из глобальных координат перевести в локальные координаты клипа А. Как использовать в хелпе написано.

Старый 22.03.2010, 18:08
In8Finity вне форума Посмотреть профиль Отправить личное сообщение для In8Finity Найти все сообщения от In8Finity
  № 3  
Ответить с цитированием
In8Finity

Регистрация: Jan 2010
Сообщений: 187
В хелпе нашёл вот такой кусок кода:

Код AS1/AS2:
 onClipEvent(mouseMove) {
        point = new object();
        point.x = _root._xmouse;
        point.y = _root._ymouse;
        globalToLocal(point);
Совсем непонятно, как это можно прикрутить к моему случаю. Я, конечно, извиняюсь, за возможно, совсем детский вопрос, но я правда не могу отыскать решение.

Старый 22.03.2010, 18:14
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 4  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
Код:
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, а то логика не понятна.
__________________
мой пустой блог

Старый 22.03.2010, 18:28
In8Finity вне форума Посмотреть профиль Отправить личное сообщение для In8Finity Найти все сообщения от In8Finity
  № 5  
Ответить с цитированием
In8Finity

Регистрация: Jan 2010
Сообщений: 187
iflamberg: так по логике и задумано. спасибо. сейчас попробую

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

Создать новую тему Ответ Часовой пояс GMT +4, время: 11:46.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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