Sto costruendo un set di componenti Flash con la possibilità di sostituire la skin del componente con un altro nella libreria.Impossibile avere Flash Component (SWC) accedere alla libreria in anteprima dal vivo
Attualmente, sono in grado di accedere alla libreria dopo aver eseguito l'applicazione, ma non durante l'anteprima dal vivo e vorrei sapere se è possibile che il componente acceda alla libreria mentre è in esecuzione in modalità anteprima live (la modalità dove è possibile trascinare il componente intorno al palco e modificarne le proprietà nella finestra Parametri componente)
Here is a simplified code that just looks to see if there is a symbol of the name specified and than instantiates it and adds it as a child.
package
{
import fl.core.UIComponent;
import flash.display.MovieClip;
import flash.system.ApplicationDomain;
/**
* ...
* @author Roy Lazarovich
*/
public class CompTest extends UIComponent
{
private var customfile :String;
public function CompTest()
{
}
override protected function configUI():void
{
}
override protected function draw():void
{
super.draw();
}
private function setCustomFile():void
{
if (ApplicationDomain.currentDomain.hasDefinition(customfile))
{
var c:Class = Class(ApplicationDomain.currentDomain.getDefinition(customfile));
var mc:MovieClip = new c();
addChild(mc);
}
}
[Inspectable(name = "_Custom File", defaultValue = "")]
public function set _customfile(value:String):void
{
customfile = value;
setCustomFile();
drawNow();
}
}
}
Grazie!
Qualche fortuna nel risolvere questo? –
Hai incluso le librerie nel tuo percorso? – michael
Intendi includere la posizione della libreria client nei percorsi per il componente? Non sono sicuro che sia del tutto fattibile: abbiamo un paio di librerie client che usano i nostri componenti. Oppure intendi includere il percorso del client nel client .fla ?? –