[Flash/PHP] Traitement d'une variable dans flash, récupérée en PHP

Bonsoir à tous :stuck_out_tongue:

Voici mon problème, je suis perdu :??:

Dans une animation extremement simple, j’ai trois calques.
Le premier calque, j’ai une seule image vide, qui contient le code action script suivant:
[cpp]
stop();
loadVariablesNum(“level.php”,0,“POST”);
if (level==2)
{
gotoAndStop(2);
}
[/cpp]

Le fichier PHP dans lequel il récupère la variable (level.php) ne contient que ceci (pour les tests) :
[cpp]<?
echo “level=2”;
?>[/cpp]

Mon probleme:
la variable est bien récupée, car dans mon second calque j’ai mis une boite de texte dynamique avec comme parametre de var : level (donc la variable renvoyé par php).
Le chiffre 2 est bien afficher, donc… la variable est bien récupérée

Mais pourtant flash ne se positionne pas sur l’image 2
(cf le code action script ci-dessus).
(Le calque 3 contient simplement deux images, un rond et un carré).

Quesqu’y ne va pas la dedans ? :??:

level est bien récupéré pourtant, et est bien égale à 2
Je comprend pas :??:

Mais là ou c’est encore plus fou… c’est que sans passer par le script PHP, si j’écris la variable en dur dans flash:
[cpp]
stop();
var level = 2;
if (level==2)
{
gotoAndStop(2);
}
[/cpp]

ça marche très bien et il se positionne bien sur l’image 2 ! :pt1cable:

Merci de votre aide :slight_smile:

Je te conseille d’utiliser l’élément LoadVars pour lier du Flash à du PHP.
Avec le code suivant, cela fonctionne:
[fixed]stop();
toto = new LoadVars();
toto.load(“level.php”);
toto.onLoad = function(success) {
if (success) {
if (this.level == 2) { //ici this équivaut à _root.toto !
gotoAndStop(2);
}
}
};[/fixed]
Attention, si tu as un dynamic textfield dans la 2eme frame et qu’il affiche le contenu d’une variable appelée level, tu dois indiquer le code suivant dans la 2eme frame:
[fixed]_root.level = _root.toto.level;[/fixed]
En effet, le level récupéré à partir du fichier PHP se trouve dans _root.toto.level (la LoadVars) alors que ce que le dynamic textfield cherche à afficher est _root.level puisqu’il se trouve dans le _root. Il s’agit donc bien de deux variables DIFFERENTES nommées toutes les deux “level”.
Un conseil, lis la doc sur les LoadVars et des tuto sur le net.
:jap:

Salut, ça marche parfaitement comme ça :wink:

Merci pour la solution :slight_smile: