Script flash-php qui ne fontionne plus apres un loadmovie()
ArthasDK
Messages postés6Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention 6 juin 2005
-
5 avril 2005 à 14:40
ArthasDK
Messages postés6Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention 6 juin 2005
-
6 juin 2005 à 19:59
Hello tou le monde !
Alors voila, j'ai longtemps travaillé sous flash 4, je me suis mis il y a peu a flash MX.
J'essaie de comprendre le lien php-flash petit a petit.
J'essaie d'adapter un script de Kingcobra :
http://www.flashkod.com/code.aspx?id=24764 à mon site mais sans succés...
Le script fonctionne trés bien dans un swf normal ( pas trés compliqué vu la clarté de la programmation ).
Mais le souci c'est que je désire charger cette animation à l'intérieur d'un autre swf a l'aide d'un loadmovie()
Mais evidemment ca marche plus ^^
En fait la première animation est chargée dans celle-ci :
http://cesiumwebsite.free.fr/msk1/ma/website.swf
à l'aide d'un movie clip ayant comme nom d'occurrence "contenu"
Mais voila tous les noms des variables sont désormais éronnées.
Si quelqu'un comprends mon problème ( si mal expliqué soit -il) et est dans la capacité de m'aider, je le remercie d'avance...
A bientôt
A voir également:
Script flash-php qui ne fontionne plus apres un loadmovie()
cs_wolvie
Messages postés25Date d'inscriptionmardi 2 septembre 2003StatutMembreDernière intervention 5 avril 2005 5 avril 2005 à 15:28
Salut, pour répondre à ton problème, as-tu des scripts reprenant une syntaxe débutant par "_root."nom de clip ou autre dans ton fichier news.fla, cela peut être une source de problème.
Autre point à voir, la manière dont sont appelées tes variables (il pourrait être bon de les déclarer également dans le fichier root, à savoir website.swf).
Dant tous les cas, décris un peu plus précisément ton code et surtout les scripts de news.fla
cs_wolvie
Messages postés25Date d'inscriptionmardi 2 septembre 2003StatutMembreDernière intervention 5 avril 2005 5 avril 2005 à 17:44
Ok, ton problème se situe donc à ce niveau, _root représente systématiquement la scène 0, si news était ton swf principal, cela ne poserait pas de problème, mais le fichier de base étant website.swf, c'est lui qui est considéré comme le _root, et news.swf est considéré comme un clip de niveau supérieur (_level1 par exemple).
Dans tous tes scripts d'appel de variable sur news.fla, remplace "_root" par "this", afin que ta varialbe soit bien traitée sur le niveau news.swf, (this.variable=)
car avec ton code actuel cela est interprété comme suit:
"charge la variable sur le _root (donc website.swf) et affiche la dans le champ texte prévu à cet effet"
==> ton champ étant présent sur news.swf, et pas sur website, pas de contenu à afficher."
Voila, après ça cela devrait tourner, sinon tu peux aussi rédiger ton script comme ceci:
"_root.contenu.variable=" (c'est la même chose mais tu prends comme référent le clip ayant le nom d'ocurrence "contenu" (donc news.swf) présent sur _root (donc website.swf), et voila...
@+
ArthasDK
Messages postés6Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention 6 juin 2005 5 avril 2005 à 22:47
Arf ca marche toujours pas, j'avais déja essayé la syntaxe _root.contenu.variable---> sans succés.
Là je viens d'essayer avec this.variable : même résultat :(
Voila la source de news.fla
titre = "";
news = "";
MOTDEPASSE = "******";
date_ = new Date();
nom_jour = date_.getDay();
jour = date_.getDate();
mois = date_.getMonth();
année = date_.getFullYear();
nom_J = new Array("dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi");
nom_M = new Array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre");
AUJOURDHUI = nom_J[nom_jour]+" "+jour+" "+nom_M[mois]+" "+année;
// <<<<<<<<<<<<<<<< Objet loadvar >>>>>>>>>>>>>>>>
// objet de reception des variables php --> flash
R_news = new LoadVars();
// objet d'envoie des variables flash --> php
S_news = new LoadVars();
// <<<<<<<<<<<<<<<< Fonction >>>>>>>>>>>>>>>>
ajouter.onRelease = function() {
if (this.titre != "" and this.texte != "") {
this.passanim.play();
} else {
this.news = "Veuillez entrer un titre et une news...";
}
};
// acces au bouton ... du mot de passe
passanim.passanim.ok.onPress = function() {
count++;
// verification a 3 fois du mot de passe
if (this.passanim.passanim.pass == this.MOTDEPASSE) {
this.txt = "Actualisation...";
// on stoque les nouvelles données dans les champs de l'objet S_news
this.S_news.E_date = this.AUJOURDHUI;
this.S_news.E_titre = this.titre;
this.S_news.E_texte = this.news;
// on envoie ces variables au php (l'objet de reception est R_news)
this.S_news.sendAndLoad("news.php", this.R_news);
this.titre = "";
this.news = "";
this.passanim.play();
}
// si le mot de passe est incorrecte on efface tout et on recommence
if (count == 3) {
this.titre = "";
this.news = "";
this.passanim.play();
count = 0;
}
this.passanim.passanim.pass = "";
};
// chargement des variables venant du php
R_news.onLoad = function(Psucces) {
if (Psucces) {
// il y'a eu un chargement
if (this.R_nb_news == 0) {
// la base de donnée est vide
this.txt = "Pas de NEWS disponible !";
} else {
// la base contient au moins une news
this.txt = "";
// on affiche cette news
for (var i = 0; i<this.R_nb_news; i++) {
this.txt += this["R_date_"+i]+"\n\n";
this.txt += this["R_titre_"+i]+"\n";
this.txt += this["R_texte_"+i]+"\n\n";
this.txt += "----------------------------------------\n\n";
this.txt += "\n\n";
}
// reaffecte la scrollbar à son texte
this.sb.setScrollTarget(txtsb);
// remet le texte au début à l'endroit de la nouvelle news
this.sb.setScrollPosition(0);
}
} else {
// il n'y'a pas eu de chargement
this.txt = "Erreur lors du chargement des NEWS...";
}
};
// <<<<<<<<<<<<<<<< On regarde s'il y'a des news >>>>>>>>>>>>>>>>
R_news.load("news.php");
Merci de t'interesser à mon problème.
J'espère qu'il ne va pas falloir déclarer certaines variables dans le website.swf et utiliser loadmovie("news.swf",/contenu,"Post"), je vais m'emméller les pinceaux avec les variables...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Kahn001
Messages postés3Date d'inscriptionmardi 7 novembre 2000StatutMembreDernière intervention12 juillet 2005 6 juin 2005 à 17:04
La propriété MovieClip._lockroot peut peut être t'aider ..
Sur le .swf qui sera chargé, ajoutes y cette instruction :
this._lockroot = true
L'instruction root du .swf chargé ne serra plus interpretée comme une
instruction root du .swf "loadeur", mais comme root du .swf chargé. Ca
te permet donc de charger ta 2eme animation sans presque rien y changer.
ArthasDK
Messages postés6Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention 6 juin 2005 6 juin 2005 à 19:59
Merci d'être aller repecher ce vieux topic.
Tout d'abord j'ai oublié de mettre des this devant R_news et S_News dans leur déclaration donc forcément ca marchait pas.
Enfin, et je trouve ca étrange, il a fallu que le calque sur lequel était disposé les variables servant d'afficher le php soit en premier plan sinon cela ne marchait toujours pas.
En tout cas, ta dernière fonction m'est trés utile !