2010-11-11 7 views
2

J'ai un main.swf qui charge un module.swf et le module.swf charge certains actifs. Le module.swf fonctionne de manière autonome et doit également fonctionner lorsqu'il est chargé par main.swf.passer un chemin de base à un swf chargé à l'exécution

Malheureusement, le module.swf ne peut pas trouver les actifs lorsqu'il est chargé par main.swf parce que les actifs ne sont pas localisés par rapport à main.swf, mais sont situés par rapport au module.swf. Comme je ne peux pas toucher le module.swf et je ne suis pas non plus disposé à changer la structure du répertoire, je cherche une solution proche du paramètre a "base" qui peut être utilisée quand un fichier swf est incorporé dans html.

Existe-t-il un moyen de simuler le comportement du paramètre de base lors du chargement d'un fichier swf en utilisant Loader?

Here est une question similaire mais sans réponse.

Répondre

1

Vous pouvez utiliser symlinks comme un moyen de rediriger votre actif url lorsqu'il est chargé par le principal swf

+0

Grande idée ! Mais je soupçonne que cela ne fonctionnera pas dans mon cas car je crée un CD-ROM qui doit fonctionner sur plusieurs systèmes d'exploitation. – maxmc

0

Quelque chose comme ça

public class URLUtil 
{ 
    public static function getBaseURL(swfURL:String):String 
    { 
     return swfURL.substr(0, swfURL.lastIndexOf("/") + 1); 
    } 
} 

exemple d'utilisation l'intérieur du module:

 
var assetURL:String = URLUtils.getBaseURL(root.loaderInfo.url) + "asset.filename"; 
loader.load(new URLRequest(assetURL)); 
+0

comme je l'ai dit: \t Je n'ai pas de contrôle sur le module.swf – maxmc

Questions connexes