Перемещение точек формы SWF с помощью кода as3

У меня есть векторная форма SWF, как получить доступ к контрольным точкам этой формы? Я хочу переместить некоторые точки этой формы с помощью кода as3. SWF создан с помощью flash professional CS5, разработка кода во flash.

Другой способ создать несколько спрайтов в CS5 и переместить их с помощью as3, но как связать их с контрольными точками формы?


person kolombet    schedule 19.07.2013    source источник


Ответы (1)


Используйте readGraphicsdata() для чтения GraphicsPath вашей формы, он содержит команды и точки управления/привязки. Затем вы можете проанализировать этот вектор, чтобы найти точку, которую вы хотите изменить, затем вы меняете ее, затем вы возвращаете путь обратно в свою фигуру через graphics.clear(); graphics.drawPath(path); или вместо этого используете drawGraphicsData(), чтобы нарисовать полный набор графической формы.

Руководство по readGraphicsData( )

Руководство по формату класса GraphicsPath

person Vesper    schedule 19.07.2013
comment
Спасибо! Две вещи, на которые стоит обратить внимание. readGraphicsData() — это новый метод, реализованный для Flash Player 11.6 или более поздней версии. Если целевой проигрыватель компиляции более ранней версии, вы не увидите этот метод. Этот метод можно вызывать с любым объектом класса Graphics, например Sprite MovieClip и Shape. - person kolombet; 20.07.2013
comment
Ага, жалко на самом деле. Вы могли бы drawPath() намного раньше, но вы не могли получить указанный путь из заданного Graphics. Таким образом, правильным решением было экспортировать фигуру как вектор команд и данных, а затем использовать ее измененную копию для рисования форм с измененным кодом. - person Vesper; 20.07.2013