2010-02-08 2 views

ответ

0

Довольно просто, нет NO WAY клонировать экранный объект

Что вы можете сделать, это найти имя класса, что объект имеет и создать класс заново, чтобы получить ту же самую форму.

Это не будет помнить какие-либо свойства, поэтому, если вам нужен настоящий клон, вам нужно будет расширить этот класс, чтобы он имел эту функцию, которая будет копировать все значения один за другим.

1

Ну, нет простого способа, но если вам это нужно плохо (как и я), есть библиотека для обработки swf, которую вы можете использовать, называемую as3swf (https://github.com/claus/as3swf) от Claus Wahlers. (Есть похожие синтаксические анализаторы, но эта кажется мне самой зрелой). Библиотека позволяет анализировать фигуру из swf и генерировать код AS3, который, будучи выполненным, рисует ту же форму. Кроме того, вы можете задействовать класс FXGShapeExporter для создания и повторного использования FXG, поскольку вы находитесь в Flex.

1

Вот мой код, который работает:

var shape:Shape = new Shape(); 
//do stuff so that it has graphics 

var shape2:Shape = new Shape(); 
shape2.graphics.copyFrom(shape.graphics); 

//now shape2 and shape have same graphics, independently 
Смежные вопросы