2010-09-02 28 views
5

Ok, alors voici mon problème. J'ai plusieurs SWF tirés au moment de l'exécution de différents domaines (nous utilisons un CDN). Il existe des polices partagées dans les fichiers SWF. J'essaie de minimiser la taille des fichiers autant que possible, ce qui signifie soit ne pas incorporer les polices dans aucun de ces fichiers SWF, ni définir tous leurs TextFormats lors de l'exécution. C'est très peu pratique, et il serait facile de manquer certains d'entre eux. L'autre meilleure solution consiste à utiliser les bibliothèques partagées à l'exécution pour extraire les polices, mais cela nécessite soit une URL absolue (contrairement au concept d'utilisation d'un CDN), soit une URL relative (qui va à l'encontre de l'utilisation des RSL). en premier lieu puisque ces ressources seraient téléchargées plusieurs fois de toute façon).URL RSL dynamiques. C'est possible?

Idéalement, je voudrais être en mesure de dire à chaque SWF à l'exécution où insérer les polices, et leur donner tout de même, URL dynamique.

Je ne trouve personne qui a rencontré une situation similaire, donc je ne suis pas sûr si cela peut ou ne peut pas être fait, mais la plupart des problèmes AS3 que je trouve sont résolus ici, donc j'espère que quelqu'un connait bonne solution pour cela.

Ou y at-il une troisième option que je ne considère pas?

Répondre

0

oui, vous avez cette option, lisez this

+0

Désolé, je suppose que je n'étais pas assez clair sur le problème. À moins d'avoir mal compris cet article, ce n'est pas tout à fait ce dont j'ai besoin. Les fichiers SWF dont les URL RSL doivent être définies au moment de l'exécution sont créés dans Flash (les artistes l'utilisent pour l'interface graphique) et non dans Flash Builder. En outre, l'URL doit être définie lors de l'exécution. Ce serait différent selon l'emplacement de l'utilisateur, entre autres choses. – Eoin

+0

@Eoin, vous avez demandé très bonne question, car il est très important pour la plate-forme grandir, nous devrions donc chercher dans la façon de réécrire le chargeur d'application avec un RSL de base et de définir tous les autres RSL. Alors faites une recherche approfondie dans ce genre de code, je vais me joindre un peu plus tard. Merci. – Eugene

2

Nous avons eu ce problème exact et est finalement arrivé à une solution. Ce n'est pas joli mais ça marchera. L'idée de base est que lorsque vous téléchargez vos fichiers, vous ignorez le RSL et le remplacez par un swf vide, et chargez manuellement le contenu de la RSL à partir d'un swf dynamique.

J'ai posté sur la façon dont nous avons résolu ici: http://blog.bluemammothgames.com/2010/10/runtime-shared-libraries-preload-and.html

Si vous avez des questions, ne hésitez pas à me ping ici ou là. Pour autant que je comprenne, il n'y a pas de moyen propre de le faire, mais ce hack fonctionne.