Это довольно простая операция - я размещаю «маркеры» в обычных точках DisplayObjectContainer.Эти маркеры будут использоваться для масштабирования, поворота в стиле Illustrator и т. Д.
Я знаю, что это можно сделать с помощью довольно простых математических упражнений, но я потратил все свои уроки по математике, рисуя людей-палочек, умирающих все более и более творчески.
TargetW / targetH - исходная ширина / высота объекта, к которому я добавляю маркеры.Очевидно, что добавление маркеров увеличивает ширину / высоту, поэтому они сохраняются заранее.
protected function positionHandles():void {
handles[0].x = 0;
handles[0].y = 0;
handles[1].x = targetW / 2;
handles[1].y = 0;
handles[2].x = targetW;
handles[2].y = 0;
handles[3].x = 0;
handles[3].y = targetH / 2;
handles[4].x = targetW / 2;
handles[4].y = targetH / 2;
handles[5].x = targetW;
handles[5].y = targetH / 2;
handles[6].x = 0;
handles[6].y = targetH;
handles[7].x = targetW / 2;
handles[7].y = targetH;
handles[8].x = targetW;
handles[8].y = targetH;
}