Pb de communication avec une base de données suite à l'utilisation d'un préloade

cs_vincounet Messages postés 8 Date d'inscription samedi 5 juin 2004 Statut Membre Dernière intervention 4 novembre 2006 - 31 oct. 2006 à 12:11
cs_vincounet Messages postés 8 Date d'inscription samedi 5 juin 2004 Statut Membre Dernière intervention 4 novembre 2006 - 4 nov. 2006 à 23:51
Bonjour à tous, j'ai vraiment besoin d'aide.
Je communique via php avec une base de données avec un fichier swf, appelons le main.swf, et tout se passe bien avec loadVariablesNum("monfichier.php",0);
Pour utiliser un preloader, je crée un conteneur.swf qui vient charger main.swf  par la méthode this.createEmptyMovieClip("conteneur", this.getNextHighestDepth()).
Cela fonctionne au niveau flash, seul problème, c'est que je n'arrive plus à loader mes variables.
Quel est le problème? Quelqu'un pourrait-il m'aider ?
Vincounet

8 réponses

cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
31 oct. 2006 à 13:15
Bonjour,

plus que probablement tu as un probleme de ciblage sur le root
ton php envoi les variable sur le root de l'animation (où est le préloader et le container) alors que tu le voudrais à la base de main.swf

deux possibilités :
dans le fla main placer   this._lockroot = true;
ou dans l'animation pricipale  conteneur._lockroot = true;

attention, c'est une commande accessible a partir de flash 7

@+
0
cs_vincounet Messages postés 8 Date d'inscription samedi 5 juin 2004 Statut Membre Dernière intervention 4 novembre 2006
31 oct. 2006 à 13:54
Désolé mais ça ne marche pas
Voici le code du préloader  :
 var sentinelle:Object = new Object();
      var mcLoader:MovieClipLoader = new MovieClipLoader();
      var conteneur:MovieClip = this.createEmptyMovieClip("conteneur",1);
      sentinelle.onLoadProgress = function():Void{
        var bt:Number = conteneur.getBytesTotal();
        var bl:Number = conteneur.getBytesLoaded();
        var per:Number = ! bt ? 0 :Math.floor(bl/bt*100);
        affichage.text = per + " % de l'acquisition";
      }
      sentinelle.onLoadComplete = function():Void{


        affichage.text = "acquisition ok "


        conteneur.play();
      }
      mcLoader.addListener(sentinelle);
      mcLoader.loadClip("main.swf", conteneur);
   conteneur._lockroot = true;
  
et le code dans main.swf
loadVariablesNum ("http://fichier.php",1);

je précise que tout se passe bien avec le main.swf seul

Merci de bien vouloir m'aider encore.
0
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
31 oct. 2006 à 14:18
Petite question, pourquoi envois-tu tes variables sur le level1 et pas au niveau de l'animation ?
En faisant this.loadVariables("http://fichier.php");

Pour le conteneur._lockroot = true; tu dois le placer avant de faire le loadClip (place le juste après l'instanciation de conteneur

@+
0
cs_vincounet Messages postés 8 Date d'inscription samedi 5 juin 2004 Statut Membre Dernière intervention 4 novembre 2006
31 oct. 2006 à 21:50
Hélas ça ne marche toujours pas, je vous montre ce que j'ai essayé.

Dans le conteneur.fla

var sentinelle:Object = new Object();
      var mcLoader:MovieClipLoader = new MovieClipLoader();
      var conteneur:MovieClip = this.createEmptyMovieClip("conteneur",0);
   conteneur._lockroot = true;
      sentinelle.onLoadProgress = function():Void{
        var bt:Number = conteneur.getBytesTotal();
        var bl:Number = conteneur.getBytesLoaded();
        var per:Number = ! bt ? 0 :Math.floor(bl/bt*100);
        affichage.text = per + " % de l'acquisition";
      }
      sentinelle.onLoadComplete = function():Void{


        affichage.text = "acquisition ok "
  conteneur.play();
      }
      mcLoader.addListener(sentinelle);
      mcLoader.loadClip("main.swf", conteneur);
 
   Dans le main.fla

this._lockroot = true
loadVariablesNum ("fichier.php",0);
//le fichier php me retourne une variable dynamique ; ça fonctionne quand main tourne seul mais ça fonctionne plus quand j'utilise le conteneur qui sert de préloader.

Merci pour votre aide.

Vincounet
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_vincounet Messages postés 8 Date d'inscription samedi 5 juin 2004 Statut Membre Dernière intervention 4 novembre 2006
31 oct. 2006 à 21:56
Finalement ça marche, j'ai trouvé par chance : faire mc.Loader.loadClip("main.swf",0) à la place de conteneur.
Ouf !!!!
Merci beaucoup pour votre aide.

Vincounet
0
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
31 oct. 2006 à 21:59
Content pour toi !





@+
0
cs_vincounet Messages postés 8 Date d'inscription samedi 5 juin 2004 Statut Membre Dernière intervention 4 novembre 2006
31 oct. 2006 à 22:07
En fait non, faux espoir, le préloader n apparaît plus. Quel galère ! désolé
Vincounet
0
cs_vincounet Messages postés 8 Date d'inscription samedi 5 juin 2004 Statut Membre Dernière intervention 4 novembre 2006
4 nov. 2006 à 23:51
Finalement, l'erreur venait de loadVarNum. Il faut faire un loadVars.
Merci pour votre aide.

Vincounet
0
Rejoignez-nous