Wie klont man ein Objekt in Flex?

8

Ich möchte ein Canvas-Objekt klonen, das eine Degrafa-Oberfläche mit mehreren Geometrieformen enthält.

Ich habe den naiven Ansatz versucht:

%Vor%

was zu Fehlern führte:

%Vor%     
coulix 19.02.2009, 16:20
quelle

5 Antworten

9

Was Sie wollen, ist eine tiefe Kopie, erzeugen Sie eine neue Instanz mit den gleichen Informationen des Originals.

Ich kann ByteArray nur wie folgt verwenden:

%Vor%

AS3 fehlt wirklich Object.clone () ...

    
LiraNuna 20.02.2009, 09:59
quelle
7

ObjectUtil

Die statische Methode ObjectUtil.copy () ist AS3s "Object.clone ()":

%Vor%
  

Kopiert das angegebene Objekt und   Gibt einen Verweis auf die Kopie zurück. Das   kopiert wird mit einem nativen   Serialisierungstechnik. Das heisst   Diese benutzerdefinierte Serialisierung wird sein   während der Kopie respektiert.

     

Diese Methode ist zum Kopieren vorgesehen   Datenobjekte, wie Elemente von a   Sammlung. Es ist nicht für gedacht   Kopieren eines UIComponent-Objekts, z   ein TextInput-Steuerelement Wenn du möchtest   Erstellen Sie Kopien von bestimmten UIComponent   Objekte, können Sie eine Unterklasse von erstellen   die Komponente und implementieren Sie einen Klon ()   Methode oder andere Methode, um die   kopieren.

    
Fernando Briano 04.01.2010 19:39
quelle
1

Ich habe selbst versucht, etwas mehr zu versuchen, leider scheint es immer noch kein TextArea (alias UI-Objekt) zu kopieren ...

%Vor%     
Master Jamez 02.06.2009 10:08
quelle
1

Ich habe das gleiche Problem (für eine NamedEntity-Schnittstelle, die ich erstellt habe), suchte hier nach der Antwort, aber funktionierte nur, indem ich einen Aufruf an die registerClassAlias-Methode machte (die ich von Ссылка ). Einfach so:

%Vor%     
quelle
0

Ich glaube nicht, dass ObjectUtil.copy zum Klonen eines Canvas funktioniert. Laut Flex-Dokument:

Kopieren Diese Methode dient zum Kopieren von Datenobjekten, z. B. Elementen einer Sammlung. Es ist nicht zum Kopieren eines UIComponent-Objekts, z. B. eines TextInput-Steuerelements, vorgesehen. Wenn Sie Kopien bestimmter UIComponent-Objekte erstellen möchten, können Sie eine Unterklasse der Komponente erstellen und eine clone () -Methode oder eine andere Methode zum Ausführen der Kopie implementieren.

    
27.05.2009 08:49
quelle