![]() |
MovieClip: точное размещение на Stage
Всем привет.
В библиотеке проекта создан мувиклип: Ellipse1 Он имеет аналогичное имя класса и залинкован через галочки "Export for ActionScript". Сам стэйдж пустой. В документ-класс помещает такой код: Код AS3:
То есть, объекты из библиотеки помещаются на стэйдж не по координатам верхнего левого угла, а по координатам центра. Возникают вопросы: 1. Как размещать объект по координатам верхнего левого угла? Я могу предположить два варианта решения задачи: - либо создать некую функцию и корректировать постоянно значения координат (с учётом половин ширины и высоты объекта) - либо же, есть некое программное свойство, перезадающее центр в левый верхний угол. 2. Нужно ли с учётом п.1 при создании объекта в опции (Edit...) смещать сам объект по отношению к центру Edit-области? Или можно всегда его создавать так, чтобы центр объекта был совмещен с центром Edit-области. |
Вложений: 1
Для отладки текстовых полей всегда включайте
Цитата:
При создании новых символов (вообще говоря) выбирается точка регистрации: Вложение 29888 |
Ааа, точка регистрации... Щас попробую, спасибо.
Но этот способ работает, если создавать на стэйдж объект, и потом конверт-ту-символ. А вот если сразу создавать символ, то этой опции нет (или я её в упор не вижу, во Flash CS3 по крайней мере). А чисто програмно эту точку регистрации можно перезадать? Или только на фазе создания все решается. |
Цитата:
Цитата:
|
А-ха, то есть это не столько центр области редактирования, сколько точка регистрации, понятно.
И если какой-то мувиклип уже создан с регистрацией по центру, то изменить это, видимо, можно только вручную, перетаскивая его в редакторе. |
Поверье, это намного проще чем возиться с матрицами преобразований
|
Вложений: 1
KumoKairo, верю на слово : )
Кстати, нашел еще один способ: Вложение 29890 Нужно вручную выставить X = 0 и Y = 0. |
Уточняющий вопрос:
Подскажите, верно ли следующее рассуждение? Функция addChild() будет срабатывать только из основного DocumentClass'a. (конешно если он расширяет соответсвующий DOС класс). То есть, addChild() никогда не добавит на Stage некий объект, если он находится внутри другого, неосновного класса? Получается так, что он будет добавлять себя же в свой же экземпляр, а раз он не stage, то сделать этого не сможет. Вывод: чтобы добавить что-то на stage из неосновного класса, нужно придумывать хитрые схемы наследований, композиций, паттернов, но на базовом нуб-уровне - этого сделать принципиально нельзя. |
Цитата:
Цитата:
Цитата:
|
Цитата:
mc.getChildAt(0).x = 0, y=0; // this is SHAPE Поижее должно работать. |
| Часовой пояс GMT +4, время: 16:03. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.