Appel de .swf par nom de .swf en AS2

plagueDesign Messages postés 2 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 3 juin 2009 - 22 mai 2009 à 18:59
plagueDesign Messages postés 2 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 3 juin 2009 - 3 juin 2009 à 10:03
Bonjour les gens !!!


J'ai fais beaucoup de recherche sur divers sites, j'ai vu pas mal de fonctions, mais aucune qui me permette au final de réaliser ce que je veux faire, du coup je m'en remet à soliciter votre aide.


Je suis en train de rechercher avec un collégue programmeur un moyen d'appeler une animation en .swf et un fichier .xml par le nom de la première animation dans laquelle ces deux fichiers devront s'afficher.




Dans mon animation principale il y a un bouton qui appelle une animation de la façon suivante :


on(release){
 loadMovieNum("anim/1.swf, 2);
}


Un loadMovie classique qui place sur l'animation principale au niveau 2 une animation présente dans un dossier de mon ftp (ici dossier "anim").




L'animation "1.swf" appelle un fichier .xml de cette manière :


MCXML = new XML();
MCXML.load("anim/xml/1.xml");
MCXML.ignoreWhite = true;
MCXML.onLoad = function(succes) {
 if (succes) {
  var i = 0;
  _root.leTexte = this.firstChild.childNodes[i].attributes.monTexte;
  i++;
 }
};




Un champ de texte dynamique (nom de variable de la zone de texte : "leTexte") dans cette animation récupére la valeur "monTexte" du fichier "1.xml"
dont l'arborescence est la suivante :


<?xml version='1.0' encoding='UTF-8' ?>
<root>
 <maPage monTexte="Mon Texte est là !!!"/>
</root>




Ce que j'aimerai réaliser, c'est un appel de ces fichiers .swf et .xml par rapport au nom de mon animation principale.




Par exemple :


1°) Mon animation principale s'appelle "mon_anim.swf";
2°) Le code de mon bouton sur cette animation doit appeler un fichier .swf qui a le même nom que l'animation principale :


on(release){
 loadMovieNum("anim/"le code pour récupérer le nom de mon animation principale".swf, 2);
}
3°) Cette dernière appelle un fichier .xml qui aura lui aussi le même nom que mon anim principale :


MCXML = new XML();
MCXML.load("anim/xml/"le code pour récupérer le nom de mon animation principale".xml");
MCXML.ignoreWhite = true;
MCXML.onLoad = function(succes) {
 if (succes) {
  var i = 0;
  _root.leTexte = this.firstChild.childNodes[i].attributes.monTexte;
  i++;
 }
};




Ce serait pour faire un système de news dynamiques, on rentre une nouvelle news sur l'administration d'un site qui crée un fichier .swf qui appelle un autre .swf en fonction du nom qui a été donné à la news, et ce dernier appelle un .xml qui correspond également au nom de la news. Le tout programmer en AS2 si possible.


J'espère que mes explications sont assez claires pour que vous puissiez m'aider, sinon n'hésitez pas à me demander plus de renseignements

Je peux fournir un fichier source si besoin.

2 réponses

JSBR Messages postés 14 Date d'inscription samedi 29 avril 2006 Statut Membre Dernière intervention 25 mai 2009
24 mai 2009 à 21:38
Bonjour,

il manque un petit détaille "mon_anim.swf" est bien le root?
Si oui:
J'ai le malheur de vous annoncez qu'il n'y a pas de façon d'aller chercher le nom du swf principal (du moins en as2, sauf erreur, mais je suis presque sûr);

Toute fois il est possible (si ça peut vous aidez) d'envoyer des variables de la page html/php... vers flash en utilisant les flashvar (petite recherche sur le web) ou tout simplement ajouter les paramètre à de la même façon que la method GET après l'adresse du swf (src="mon_anim.swf?nom=mon_anim'')
la variable sera alors automatiquement créé sur le root ( trace(_root.nom) // 'mon_anim')

En ésperant avoir pu vous aider
JSBR
0
plagueDesign Messages postés 2 Date d'inscription lundi 2 mars 2009 Statut Membre Dernière intervention 3 juin 2009
3 juin 2009 à 10:03
Hell-oooo !!!

J'ai réussi à trouver une méthode en passant une variable dans la page htm ^^
   - Le nom de mon animation dans ce fichier est : "anim.swf?galerie=0";
   - Dans mon fichier fla j'ai passé une variable : "_global.maGalerie = galerie";
   - J'ai ensuite concaténé cette variable dans mes appels : "loadMovieNum("anim/galeries/"+maGalerie+".swf", 2);
   - Ainsi que dans mes chargements xml : MCXML.load("anim/xml/"+maGalerie+".xml");

Dans mes fichiers xml je remplace le lien des mes anims (liens="anim/galeries/1.swf") par une valeur numérique (liens="1"). Avec ça, ça marche nickelchrome

Merci de m'avoir donner cette piste JSBR, j'ai réussi à réaliser ce que je voulais faire
Je posterai une source d'ici peu.

Merci encore.

@ Tantôt
0
Rejoignez-nous