Pb de communication avec une base de données suite à l'utilisation d'un préloade
cs_vincounet
Messages postés8Date d'inscriptionsamedi 5 juin 2004StatutMembreDernière intervention 4 novembre 2006
-
31 oct. 2006 à 12:11
cs_vincounet
Messages postés8Date d'inscriptionsamedi 5 juin 2004StatutMembreDerniè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
A voir également:
Pb de communication avec une base de données suite à l'utilisation d'un préloade
cs_Girou
Messages postés1203Date d'inscriptionlundi 10 mars 2003StatutMembreDernière intervention23 juillet 20092 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
cs_vincounet
Messages postés8Date d'inscriptionsamedi 5 juin 2004StatutMembreDerniè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{
cs_vincounet
Messages postés8Date d'inscriptionsamedi 5 juin 2004StatutMembreDerniè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
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_vincounet
Messages postés8Date d'inscriptionsamedi 5 juin 2004StatutMembreDerniè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.