2013-07-19 2 views
0

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

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

ответ

1

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

The manual on readGraphicsData()

The manual on GraphicsPath class format

+1

Спасибо! Две вещи, которые я хочу заметить. readGraphicsData() - это новый метод, реализованный для Flash Player 11.6 или выше. Если целевой игрок компиляции является более низкой версией, вы не увидите этот метод. Этот метод можно вызвать с любым объектом класса Graphics, как Sprite MovieClip и Shape. – kolombet

+0

Да, жалкий факт. Вы могли бы 'drawPath()' раньше, но вы не могли получить указанный путь из данной «Графики». Таким образом, правильным решением было экспортировать фигуру в виде вектора команд и данных, а затем использовать измененную копию для рисования измененных кодом форм. – Vesper