Holen Sie sich eine Klasse aus meinem flash-Bibliothek dynamisch
Habe ich mehrere bitmaps in meinem flash-Bibliothek, die ich für Actionscript exportiert. Jetzt je nach Flashvars ich erhalten, ich will laden Sie die entsprechende Bibliothek bitmap.
Wie lade ich eine bitmap-Klasse dynamisch?
- Was meinst du mit bitmap-Klasse? Bilder?
- ja, die bitmap-Bilder, die ich in meiner flash-Bibliothek.
- Sind Sie sicher, dass Sie wollen, speichern Sie Ihre bitmap-Dateien in einem flash-Bibliothek (ich nehme an, Sie meine nur externe swf)? Sie konnte nur laden Sie Sie direkt, ohne dass Sie eingewickelt in swf.
- nun ja, eigentlich möchte ich Sie in meiner Bibliothek, da ich möchte, dass Sie, eingebettet in gewisser Weise.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Grundsätzlich zu befestigen bitmap aus der Bibliothek würden Sie dies tun:
Aber da Sie nicht wissen, den Namen der Klasse haben, müssen Sie zum erstellen der Klasse dynamisch wie diese:
In diesem Fall wird der name der Klasse in der Verknüpfung-Eigenschaften des Bildes wäre
xxx
.Sie nur verwenden Loader und ApplicationDomain. Andere Antworten und Dokumentation haben gute Beispiele von denen. Nach dem laden von externen swf, die Sie gerade brauchen, um so etwas wie dieses, um Ihre bitmap-Klasse:
Edit: Hinzugefügt links 🙂
Das macht Sinn. Der Grund dafür ist, dass der compiler nicht enthalten diese Klassen auf 'compile-time', da Sie nie verwendet, es ist nicht clever genug, um zu sehen, dass die Klassen-Namen können dynamisch zur Laufzeit generiert. So sind die veröffentlichten swf-keine dieser Klassen. Jedoch, nachdem Sie noch 'erwähnen' in den code für den compiler beinhaltet.
Ich denke, dies ist nicht die ideale Architektur für dynamische Klassennamen.Vielleicht sollten Sie hinzufügen eine Art von Kraft zu kompilieren Einstellung?
Habe ich eine Klasse angelegt ex. MyClass
Elemente in "meine Bibliothek" benannt sind team_4534 zum Beispiel.
Tut MyClass eigentlich alle erkennen die Bibliothek Vermögenswerte? Muss ich nicht haben, importieren Sie Sie in irgendeiner Weise, oder sagen, dass Sie existieren?
okey, so fand ich eine wirklich hässliche Art und Weise von nicht immer "Fehlermeldung ReferenceError: Error #1065: Variable team_xxx ist nicht definiert'
Ich habe eine Funktion in flex mit all den verschiedenen Klassen aus .swc:
Wenn jemand eine bessere Idee, und ich bin sicher, dass jemand tun, dann bitte einen Kommentar schreiben.