|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Mar 2013
Сообщений: 290
|
MovieClip: точное размещение на Stage
Всем привет.
В библиотеке проекта создан мувиклип: Ellipse1 Он имеет аналогичное имя класса и залинкован через галочки "Export for ActionScript". Сам стэйдж пустой. В документ-класс помещает такой код: package { import flash.display.*; import flash.events.*; import flash.text.*; public class Main extends Sprite { private var item1:Ellipse1; private var text1:TextField; public function Main() { item1 = new Ellipse1(); item1.x = 200; item1.y = 200; addChild(item1); text1 = new TextField(); text1.x = 200; text1.y = 200; text1.text = "O = is placed at coordinates: 200, 200"; text1.autoSize = TextFieldAutoSize.LEFT; addChild(text1); } } } То есть, объекты из библиотеки помещаются на стэйдж не по координатам верхнего левого угла, а по координатам центра. Возникают вопросы: 1. Как размещать объект по координатам верхнего левого угла? Я могу предположить два варианта решения задачи: - либо создать некую функцию и корректировать постоянно значения координат (с учётом половин ширины и высоты объекта) - либо же, есть некое программное свойство, перезадающее центр в левый верхний угол. 2. Нужно ли с учётом п.1 при создании объекта в опции (Edit...) смещать сам объект по отношению к центру Edit-области? Или можно всегда его создавать так, чтобы центр объекта был совмещен с центром Edit-области. |
|
|||||
Регистрация: Mar 2013
Сообщений: 290
|
Ааа, точка регистрации... Щас попробую, спасибо.
Но этот способ работает, если создавать на стэйдж объект, и потом конверт-ту-символ. А вот если сразу создавать символ, то этой опции нет (или я её в упор не вижу, во Flash CS3 по крайней мере). А чисто програмно эту точку регистрации можно перезадать? Или только на фазе создания все решается. |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Цитата:
__________________
Reality.getBounds(this); |
|
|||||
Регистрация: Mar 2013
Сообщений: 290
|
А-ха, то есть это не столько центр области редактирования, сколько точка регистрации, понятно.
И если какой-то мувиклип уже создан с регистрацией по центру, то изменить это, видимо, можно только вручную, перетаскивая его в редакторе. |
|
|||||
Регистрация: Mar 2013
Сообщений: 290
|
KumoKairo, верю на слово : )
Кстати, нашел еще один способ: Нужно вручную выставить X = 0 и Y = 0. |
|
|||||
Регистрация: Mar 2013
Сообщений: 290
|
Уточняющий вопрос:
Подскажите, верно ли следующее рассуждение? Функция addChild() будет срабатывать только из основного DocumentClass'a. (конешно если он расширяет соответсвующий DOС класс). То есть, addChild() никогда не добавит на Stage некий объект, если он находится внутри другого, неосновного класса? Получается так, что он будет добавлять себя же в свой же экземпляр, а раз он не stage, то сделать этого не сможет. Вывод: чтобы добавить что-то на stage из неосновного класса, нужно придумывать хитрые схемы наследований, композиций, паттернов, но на базовом нуб-уровне - этого сделать принципиально нельзя. |
|
|||||
Цитата:
Цитата:
Цитата:
|
|
|||||
[+4 06.05.14]
|
Цитата:
mc.getChildAt(0).x = 0, y=0; // this is SHAPE Поижее должно работать.
__________________
Марк Tween |
Часовой пояс GMT +4, время: 15:02. |
|
« Предыдущая тема | Следующая тема » |
Теги |
movieclip , размещение , точные координаты |
Опции темы | |
Опции просмотра | |
|
|