2010-02-08 8 views

Répondre

-1

Bien sûr,

vous pouvez utiliser la classe URLLoader pour le charger à l'exécution:

var _loader:URLLoader; 
var request:URLRequest = new URLRequest("http://yourserver.com/graphic.ai"); 
var loader:URLLoader = new URLLoader(); 
loader.addEventListener(Event.COMPLETE, completeHandler); 
loader.load(request); 

    private function completeHandler(e:Event):void { 
     var content:DisplayObject = _e.target.content; 
     addChild(content); 
    } 

Je ne l'ai pas testé, mais je pense que cela fonctionne!

+3

"_e.target.content" doit être "e.target.data". Je pense que vous devez également le typer avant que le compilateur vous permette de le mettre dans une variable DisplayObject. Peut-être que vous pensiez à Loader au lieu de URLLoader? Le code actuel ne fonctionnera pas car Flash n'a aucune idée du type de données qui vient d'être chargé (il peut s'agir de données XML, binaires, PNG, etc.) et ne peut donc pas convertir le fichier AI en DisplayObject car il ne sait pas que les données chargées étaient un fichier AI. Je ne suis pas certain que Flash puisse convertir les fichiers AI à l'exécution en premier lieu. – Cameron

+0

Euh, vous avez raison. Il doit s'agir d'un Loader au lieu d'un URLLoader. Mais je ne suis pas sûr avec le typecast, je vais le vérifier plus tard ;-) – 23tux

1

Vous pouvez enregistrer les données vectorielles dans un format XML tel que SVG (Illustrator le prend en charge), puis le charger à l'aide de URLLoader, analyser les données et les dessiner dans un objet Shape.

Il y a quelques AS3 SVG parseurs disponibles sur le web: http://www.google.com/search?q=svg+as3

+0

Combo "AI-> SVG - load-> Flash" n'est pas une meilleure variante. L'exportation vers SVG a toujours été terrible dans Illustrator. –