Показать сообщение отдельно
Старый 12.08.2013, 11:30
Fogflasher вне форума Посмотреть профиль Отправить личное сообщение для Fogflasher Найти все сообщения от Fogflasher
  № 1  
Ответить с цитированием
Fogflasher

Регистрация: Mar 2013
Сообщений: 290
По умолчанию MovieClip: точное размещение на Stage

Всем привет.

В библиотеке проекта создан мувиклип: Ellipse1
Он имеет аналогичное имя класса и залинкован через галочки "Export for ActionScript".
Сам стэйдж пустой.

В документ-класс помещает такой код:
Код AS3:
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);
 
 
		  }
 
	  }
 
 
}
И видим, что если буква О текста указывает на координаты 200, 200, то сам эллипс расположен иначе.

То есть, объекты из библиотеки помещаются на стэйдж не по координатам верхнего левого угла, а по координатам центра.

Возникают вопросы:

1. Как размещать объект по координатам верхнего левого угла?
Я могу предположить два варианта решения задачи:
- либо создать некую функцию и корректировать постоянно значения координат (с учётом половин ширины и высоты объекта)
- либо же, есть некое программное свойство, перезадающее центр в левый верхний угол.

2. Нужно ли с учётом п.1 при создании объекта в опции (Edit...) смещать сам объект по отношению к центру Edit-области?
Или можно всегда его создавать так, чтобы центр объекта был совмещен с центром Edit-области.