Lassen Sie mich zuerst das Problem darstellen. Ich muss alle Bilder, die ich in meinem Projekt verwendet habe, ohne Einbetten extern laden. Die Bilder sind entweder in Skins oder als Symbole für Objekte in Bäumen vorhanden. Ich stieß auf die IconUtility Klasse here Ich konnte es ändern und es für Bäume verwenden, aber das Problem ist, wir können nicht iconutility für die gleiche Komponente verwenden, um 2 verschiedene Skins (wie für eine Schaltfläche - upskin downskin). Ich konnte nicht an eine Problemumgehung mit iconutility denken. Ist es möglich, Embed und eine Klasse dynamisch zu simulieren und die Klasse zur Laufzeit zurückzugeben?Erstellen einer Klasse dynamisch in ActionScript
Antwort
die einfachste Sache zu verwenden, um diese Dinge zu erreichen, ist ein/mehrere SWF-Dateien erstellen Ihr Vermögen enthalten , laden sie es, und dann die Klassen von dort (dh von der geladenen SWF-Dateien Anwendungsdomäne) herausziehen ...
gibt es mehrere Lösungen, dass:
- Hardcore-Version ist es, diese Bilder in
ByteArray
zu laden s benutzen URLLoader, und dann eine neueByteArray
erstellen, die eine SWF-Datei sein wird, die die eingebetteten Assets und die notwendigen Anweisungen enthält, um sie mit Klassen zu verbinden ... Sie könnten einen Blick auf Sparks swfassist ... - ein wenig werfen einfachere und performante (da Sie dies nur einmal tun), ist, dass auf dem Server zu tun ... hier Sie
- einfach die flex compiler
- Verwendung swfmill
- verwenden einige Bibliotheken für die Manipulation von sWF verwenden könnte, wie ming
- do it yourself, von ha nd ... :)
Hoffnung, die
bearbeiten hilft: die zweite Lösung auf dem Server ist über das Erstellen von Vermögenswerten, mit einem geeigneten Werkzeug ... oder Codierung das Werkzeug selbst, aber das war eher ein Scherz ... :) ... mir wurde klar, dass die Verbindung zum Flex-Compiler falsch war ... die Idee wäre, sie einfach in deinen Webserver zu stecken und dann ActionScript zu kompilieren, das macht die Einbettung ... also würde man eine ActionScript-Datei wie diese erzeugen:
package {
import flash.display.Sprite;
import flash.utils.describeType;
public class Assets extends Sprite {
[Embed(source='asset_1_Location')]
public static var asset_1:Class;
[Embed(source='asset_2_Location')]
public static var asset_2:Class;
...
[Embed(source='asset_n_Location')]
public static var asset_n:Class;
public function Assets() { }
public static function getAll():Object {
var ret:Object = { };
for each (var x:XML in describeType(Assets).variable.(@type=="Class")) {
var name:String = [email protected];
ret[name] = Assets[name];
}
return ret;
}
}
}
Dann lassen Sie den Flex-Compiler kompilieren ... wenn geladen, extrahieren Sie Daten mit LoaderInfo :: applicationDomain.getDefinition ("Assets"). GetAll(), was Ihnen eine Schlüssel-Wert-Zuordnung mit allen benötigten Klassen gibt. ..
mit anderen Werkzeugen, wäre es anders funktionieren, aber ich hoffe, dass dies verdeutlicht, wie es funktionieren soll ...
auf dem Server, benötigen Sie einen Dienst, die diese Anlage swfs für Sie bauen, und cache sie ... also schickst du eine POST-Anfrage, zum Beispiel mit einem JSON-Array von Dateien/Bildern, die du brauchst, und es gibt dir den swf zurück ... der Server sollte natürlich das passende Caching machen ...
hoffe, jetzt hilft es ...:)
greetz
back2dos
Danke für das Feedback. Erste Lösung ist wirklich Hardcore und ich kann die 2. Lösung nicht verstehen. Kannst du es im Detail erklären? – dante
This war das, was ich gesucht habe ... leider ist der Autor behauptet, dass er nicht in der Lage war Haut für Knopf
- 1. Dynamisch Erstellen einer Proxy-Klasse
- 2. ActionScript 3 dynamisch Ruftasten
- 3. Erstellen Sie TextInput dynamisch in ActionScript in Flex 4.6
- 4. Aufruf einer Klasse dynamisch?
- 5. Erstellen Sie benutzerdefinierte Klasse dynamisch
- 6. Python dynamisch Klasse mit innerer Klasse erstellen
- 7. Dynamisch erstellen einer Klasse aus Datei in Python
- 8. Klasse dynamisch in C# aus einer Liste von Zeichenfolgen erstellen
- 9. Erstellen einer Datei dynamisch
- 10. MXML in ActionScript-Klasse aufrufen
- 11. Erstellen einer mehrsprachigen ActionScript 3.0-Site
- 12. ActionScript - Klasse erweitert Objekt?
- 13. Wie Erstellen einer Klasse und Eigenschaft dynamisch aus der Datenbanktabelle
- 14. Hinzufügen zu einer Klasse dynamisch
- 15. dynamisch Instanz einer Klasse erstellen, die von einer abstrakten Klasse abgeleitet ist
- 16. Wie dynamisch CSS-Klasse in JavaScript erstellen und anwenden?
- 17. Erstellen Instanz von COM-Klasse dynamisch in .NET
- 18. Erstellen einer indexerstellenden Klasse
- 19. Dynamisch Anmerkung zu einer vorhandenen Klasse hinzufügen
- 20. Actionscript 3: Laden Ai-Dateien dynamisch?
- 21. ActionScript 3.0 stageWidth in benutzerdefinierter Klasse
- 22. Actionscript 3, flash: Bereich dynamisch löschen?
- 23. Wie erstellt man dynamisch eine Instanz einer Klasse in Python?
- 24. Erstellen Sie dynamisch eine Klasse mithilfe von System.Reflection.Emit in UWP
- 25. Actionscript 3.0 Holen Sie alle Instanzen einer Klasse?
- 26. Erstellen Sie eine Schaltfläche mit einem Symbol in ActionScript
- 27. Alle Mitglieder einer Klasse dynamisch auflisten
- 28. Typescript - ein Objekt erstellen die Klasse dynamisch über ihren Namen
- 29. jQuery CSS: Attribute einer Klasse dynamisch ändern
- 30. Hinzufügen einer Klasse zum dynamisch hinzugefügten Vorlagenelement
Beitrag aktualisiert ... greetz – back2dos