Problème composant flash qui clignote (TROP) à chaque changement de valeur! je v

dimabab Messages postés 38 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 3 décembre 2010 - 14 sept. 2010 à 17:44
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 - 16 sept. 2010 à 13:37
Bonjour
j'ai réalisé un composant flash avec AS3, et je l'intègre dans une page html , ce composant reçoit des données d'une manière permanente (la
direction du vent) et il doit les afficher.

mon problème : à un moment donné le composant commence à clignoter (apparait et disparait ) ce qui dévalorise mon affichage , et ça se
répète

NB je suis débutant en flash alors veuillez m'excuser si j 'ai mal utilisé les termes

pour le code de mon wind.as



package com
{
   //import des différentes classes
   import flash.events.Event;
   import flash.display.MovieClip;
   import flash.display.Graphics;
   import flash.geom.Point;
   import flash.display.Shape;
   
   
   
   //déclaration de la classe principale
   public class wind extends MovieClip
   {
      //création des variable 
  	 
 var infos:Object;
 //---

      
  
      // ::::::::::Constructeur::::::::::::\\
      public function wind()
      {
         // ecoute des evenements
       
 addEventListener(Event.ENTER_FRAME,ecoute);
      }
  
protected function ecoute(event:Event):void
      {
        
 //je récupère  la valeur du vent envoyée via l'URL		
infos=loaderInfo.parameters;

fleche.rotation =infos.wd;

     }
}
}





merci d'avance

11 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
14 sept. 2010 à 18:08
Bonjour,

question : pourquoi lire le loader info toutes les frames ?

Peg'
0
dimabab Messages postés 38 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 3 décembre 2010 1
14 sept. 2010 à 18:42
les frames ? je crois que tu parles de Event.ENTER_FRAME (je suis débutant )
pourquoi lire le loader info car chaque second je reçois une nouvelle valeur qui je dois afficher alors si je fait pas ça , je vais lire que la première valeur envoyée . je sais pas si j'ai raison ou non alors toute suggestion sera la bienvenue

une autre question quel Evénement choisir pour récupérer les données envoyées VIA URL
NB
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
14 sept. 2010 à 20:37
Le mieux dans ton cas serait d'utiliser un Timer qui va interroger une base de donnée via un script serveur (PHP ou autre) et met à jour l'affichage de ce que tu veux mettre à l'écran via un URLLoader.
Car modifier le loaderinfo reviens à relancer l'animation depuis le début... d'où ton clignotement.

Peg'
0
dimabab Messages postés 38 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 3 décembre 2010 1
14 sept. 2010 à 22:34
Merci beaucoup au moins maintenant je sais ou est le problème
donc je peux pas utiliser loaderinfo , y a pas une alternative ? , car interroger BD chaque second c'est un peu lourd! ,est ce que je peux pas utiliser ce URLLoader (d'après google : URLLoader class downloads data from a URL as text, binary data..) à la place de loaderinfo ? sans changer le code , je cherche une solution qui laisse une communication directe entre ma page html et mon flash sans avoir à passer par BD ou fichier XML

merci beaucoup pour ton aide pegase31
0

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

Posez votre question
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
14 sept. 2010 à 23:00
ben la solution que je t'ai proposé est la plus légère .. et changer une page HTML est plus "lourd" que ce que je t'ai conseillé, car tu dois réactualiser ta page et donc régénérer une page ... à toi de voir.

Peg'
0
dimabab Messages postés 38 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 3 décembre 2010 1
15 sept. 2010 à 11:39
merci pour ton aide.
s'il vous plaît dernière question

est ce que je peux pas sauvegarder ma variable chaque seconds dans un fichier XML, et au niveau de flash je récupère cette valeur et je l'affiche

car le projet ne doit pas contenir une BD

et si j'utilise un fichier XML ( je tomberais sur la notion de l'accès concurrentiel ) ma page va écrire sur le fichier, et mon flash va essayer de lire ma variable.
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
15 sept. 2010 à 11:57
tu peux, ça reviens au même pour flash .. mais comment vas-tu générer ton XML toutes les secondes ?
Parce que plutôt que de créer nu XML, autant lire directement à la source ...

Peg'
0
dimabab Messages postés 38 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 3 décembre 2010 1
15 sept. 2010 à 12:59
la source est un capteur Météo est pas une BD , c'est pourquoi je veux envoyer directement les données sans passer par un intermédiaire(BD,XML),
j'ai utilisé le loaderinfo mais ça gâche mon affichage .

pour te donner plus d'info je développe en java/j2ee et ma page n'est qu'une page JSP , alors je récupère les données envoyées par un capteur et j'essaie de les envoyer au flash afin de les afficher le composant flash est intégré dans ma page. y a pas moyen

est ve pas le problème provient de le fait que j'utilise MovieClip au lien de Graphic ?
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
15 sept. 2010 à 14:31
pourquoi n'interroges-tu pas ton java qui te renvois la donnée ?

Peg'
0
dimabab Messages postés 38 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 3 décembre 2010 1
16 sept. 2010 à 11:52
mais comment faire ?,
j'ai pas un probleme au niveau des données , le probleme est comment transmettre ces données au flash

je fais appel au niveau de ma page au composant flash et j'envoie la donnée via l'url;

myInstrument.setSrc("windPlotF.swf?windVal="+_wind)


et au niveau de mon flash
infos=LoaderInfo(this.root.loaderInfo).parameters
fleche.rotation =infos.windVal;


est ce que je peux faire
myinstrument.setAttribute("windVal",_wind)

//myinstrument est id de mon composant flash.
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
16 sept. 2010 à 13:37
je te l'ai dit : c'est flash qui interroge un script serveur, et pas l'inverse ...

peg'
0
Rejoignez-nous