2009-06-30 7 views
0

J'ai un composant Flash qui est juste une bibliothèque de code compilé avec quelques appels d'API exposés. Normalement, nous distribuons cela en tant que SWC ou MXP, et cela fonctionne très bien. Récemment, j'ai demandé à un client d'utiliser mon composant, mais ils font tout leur développement dans MTASC seulement. MTASC ne prend pas en charge les fichiers SWC, donc y a-t-il un bon moyen d'envoyer du code précompilé qui fonctionnerait dans MTASC? Je ne suis pas en mesure de leur envoyer le code source d'origine, mais s'il y a une autre méthode, je l'apprécierais. J'ai accès à la source, donc je peux la recompiler si nécessaire. Merci!comment distribuer un composant Flash à utiliser avec MTASC?

+0

J'ai trouvé votre question via Google et je me demandais si vous aviez trouvé une solution car j'ai un problème avec SWC et MTASC. Je vois que personne sur StackOverflow n'avait de réponse. Merci. – wpjmurray

Répondre

0

J'ai trouvé une réponse, et je ne suis pas sûr à 100% si c'est exactement le processus puisque je ne suis plus à ce travail et n'ai plus l'ordinateur/processus devant moi. C'était un peu un hack. Ce qui impliquait essentiellement de décompresser le fichier SWC et de sortir un fichier .swf et un tas de fichiers .asi. Les fichiers .asi sont en fait des fichiers ActionScript, mais ils contiennent des définitions intrinsèques, ou seulement des prototypes ou des empreintes de ce qui s'y trouve réellement. La vraie viande en est encore au .swf.

Donc, vous renommez tous ces fichiers .asi en .as et ensuite les placez dans votre chemin de classe MTASC. Comme ils contiennent des définitions, vous ne devriez plus avoir d'autres erreurs "variable indéfinie" ou "fonction indéfinie" au moment de la compilation. Il vous suffit maintenant d'insérer le fichier SWF, où les corps de fonctions réels sont définis, en utilisant loadMovie. Une fois le loadMovie terminé, vous devriez pouvoir utiliser toutes les fonctions. La seule mise en garde, bien sûr, est que vous devez attendre que le fichier SWF se charge avant d'appeler l'une des fonctions du SWC.

donc étape par étape, il ressemble à ceci:

1.) Décompressez le fichier SWC. ceci peut être fait en utilisant la commande de décompression du terminal WinZip ou OS X 2.) Renommez les fichiers .asi en .as 3.) ajoutez de nouveaux fichiers .as au chemin de classe MTASC 4.) ajoutez le code AS pour charger le fichier .swf dans et faites sûr aucune des fonctions SWC sont appelées avant le fichier SWF est chargé 5.) compilez

Je suis sûr que ce que nous avons fait, mais je ne suis pas dans un endroit pour l'essayer dès maintenant.,

J'espère que cela aide, laissez-moi savoir si vous avez d'autres questions et je vais voir si je peux vous aider à comprendre.

Questions connexes