begin process at 2012 05 27 08:27:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Base de données

 > 

XML

 > 

Problème chargement XML


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème chargement XML

mardi 1 avril 2008 à 08:20:58 | Problème chargement XML

ulysse68

Bonjour à tous,

Voici mon problème. J'ai un fichier XML que j'arrive à charger, dans mon code je fais une redimension automatique de l'image chargée. Le redimensionnement s'effectue sur toutes les images sauf, sur la première image qui apparaît lorsque le script se lance. A mon avis le problème vient du fait que le XML n'a pas eu le temps de se charger entièrement avant que le redimensionnement s'opère.

Voici mon code :

var fich_xml:XML = new XML();
fich_xml.onLoad = charger;
fich_xml.load("album.xml"); // on charge le XML se nommant album.xml
fich_xml.ignoreWhite = true;
var currentnode:XMLNode;
var nbr_img:Number = 0;
var increm:Number = 1;
var totalligne:Number;

function charger(success) {
    if (success) {
        var racine:XMLNode = fich_xml.firstChild.firstChild;
        currentnode = racine.firstChild;
        totalligne = racine.childNodes.length;
        updateSlide(currentnode);
    }
}


function updateSlide(c) {
    my_mc = new MovieClipLoader();
    my_mc.onLoadInit = function() {
        htr = targetClip._height;
        lg = targetClip._width;
        if (htr>lg) {
            pourcentage = htr/htr;
        } else {
            pourcentage1 = lg/lg;
        }
        targetClip._height = pourcentage*275;
        targetClip._width = pourcentage1*360;
    };
    my_mc.loadClip(c.attributes.jpegURL, targetClip);
    //Index_txt.text = increm+"/"+totalligne; //inutile
    chmp_txt.text = c.attributes.description1;// charge le texte dans "chmp_txt"
    my_mc.loadClip(c.attributes.titre, cliptitre);
   
}

Si une âme charitable pouvait m'aider ça serait vraiment sympa, merci d'avance.
mardi 1 avril 2008 à 08:52:10 | Re : Problème chargement XML

Girou

Membre Club
Salut,

je modifierais légèrement la fonction updateSlide()
Il n'est pas utile de redéfinir à chaque fois un nouveau movieClipLoader(), sort le de ta fonction

var fich_xml:XML = new XML();
fich_xml.onLoad = charger;
fich_xml.load("album.xml"); // on charge le XML se nommant album.xml
fich_xml.ignoreWhite = true;
var currentnode:XMLNode;
var nbr_img:Number = 0;
var increm:Number = 1;
var totalligne:Number;


function charger(success) {
    if (success) {
        var racine:XMLNode = fich_xml.firstChild.firstChild;
        currentnode = racine.firstChild;
        totalligne = racine.childNodes.length;
        updateSlide(currentnode);
    }
}

my_mc = new MovieClipLoader();
my_mc.onLoadInit = function(target_mc:MovieClip) {
        htr = target_mc._height;
        lg = target_mc._width;
        if (htr>lg) {
            pourcentage = htr/htr;
        } else {
            pourcentage1 = lg/lg;
        }
        target_mc._height = pourcentage*275;
        target_mc._width = pourcentage1*360;
    };

function updateSlide(c) {
    my_mc.loadClip(c.attributes.jpegURL, targetClip);
    //Index_txt.text = increm+"/"+totalligne; //inutile
    chmp_txt.text = c.attributes.description1;// charge le texte dans "chmp_txt"
    my_mc.loadClip(c.attributes.titre, cliptitre);
}

@+

signature not found
mardi 1 avril 2008 à 09:05:16 | Re : Problème chargement XML

ulysse68

Merci pour ta réponse, effectivement ça fonctionne aussi comme cela, cependant la première image ne se redimensionne toujours pas. J'ai fais quelques recherches par ci par là et j'ai trouvé qu'il fallait que je mette une écouteur (Listener), le problème c'est que je ne sais pas trop utiliser les écouteurs.
mardi 1 avril 2008 à 09:41:54 | Re : Problème chargement XML

Girou

Membre Club
Re !

voila comment utiliser un écouteur :

var fich_xml:XML = new XML();
fich_xml.onLoad = charger;
fich_xml.load("album.xml"); // on charge le XML se nommant album.xml
fich_xml.ignoreWhite = true;
var currentnode:XMLNode;
var nbr_img:Number = 0;
var increm:Number = 1;
var totalligne:Number;


function charger(success) {
    if (success) {
        var racine:XMLNode = fich_xml.firstChild.firstChild;
        currentnode = racine.firstChild;
        totalligne = racine.childNodes.length;
        updateSlide(currentnode);
    }
}
var my_mc:MovieClipLoader = new MovieClipLoader();
var mclListener:Object = new Object();

mclListener.onLoadInit = function(target_mc:MovieClip) {
        htr = target_mc._height;
        lg = target_mc._width;
        if (htr>lg) {
            pourcentage = htr/htr;
        } else {
            pourcentage1 = lg/lg;
        }
        target_mc._height = pourcentage*275;
        target_mc._width = pourcentage1*360;
};

my_mc.addListener(mclListener);


function updateSlide(c) {
    my_mc.loadClip(c.attributes.jpegURL, targetClip);
    //Index_txt.text = increm+"/"+totalligne; //inutile
    chmp_txt.text = c.attributes.description1;// charge le texte dans "chmp_txt"
    my_mc.loadClip(c.attributes.titre, cliptitre);
}


@+

signature not found
mardi 1 avril 2008 à 10:04:46 | Re : Problème chargement XML

ulysse68

Merci beaucoup l'écouteur fonctionne, mais ça ne change rien pour mon redimensionnement d'image, la première image chargée est disproportionnée pas rapport aux autres. Pourtant quand je vais à la 3ème image par exemple et que je reviens à la première par la suite, cette fois-ci l'image est bien dimensionner. J'trouve ça plutôt louche, et ça m'énerve par la même occasion.
mardi 1 avril 2008 à 12:22:41 | Re : Problème chargement XML

Girou

Membre Club
Salut,

en reagerdant de plus près, ton script de redimensionnement me semble louche...
pourcentage = htr/htr;  un nombre divisé par lui même donne toujours 1 !!!
donc,
        target_mc._height = pourcentage*275;
        target_mc._width = pourcentage1*360;

va redimensionner ton clip target_mc au dimensions 360x275 mais en déformant l'image
Sans doute que les autres images sont au bon ration dimensionnel dès le départ donc ne sont pas déformées.


Je pense que c'est là que tu dois chercher

@+

signature not found
mardi 1 avril 2008 à 14:47:20 | Re : Problème chargement XML

ulysse68

J'ai utilisé cette méthode pour être sûr que les images soit redimensionner à la même taille, mais je vais quand même voir.

Merci
vendredi 4 avril 2008 à 11:22:24 | Re : Problème chargement XML

ulysse68

Re-bonjour, ça va faire deux jours et je n'ai toujours pas trouver de solutions. J'ai changé ma première image qui a donc une taille différente, et avec n'importe quelle taille d'image le redimensionnement ne fonctionne pas pour la première image chargée. Je ne comprends vraiment pas d'autant plus que l'image se redimesionne quand on revient dessus par la suite.
samedi 5 avril 2008 à 09:14:42 | Re : Problème chargement XML

Girou

Membre Club
Réponse acceptée !

Salut,

essaye la fonction suivante (avec l'écouteur)

mclListener.onLoadInit = function(target_mc:MovieClip) {
 var H_Factor:Number = 1;
 var W_Factor:Number = 1;
 var scaleFactor:Number=1
 if (target_mc._width>650) {
  W_Factor = target_mc._width/360;
 }
 if (target_mc._height>500) {
  H_Factor = target_mc._height/275;
 }
 if (W_Factor>H_Factor) {
  ScaleFactor=W_Factor
 } else {
  ScaleFactor=H_Factor
 }
 target_mc._width = target_mc._width/ScaleFactor;
 target_mc._height = target_mc._height/ScaleFactor;

};


@+

signature not found

lundi 7 avril 2008 à 10:00:20 | Re : Problème chargement XML

ulysse68

Merci Girou de te casser la tête pour mon problème, mais ta solution ne marche pas, enfin... maintenant le problème est différent, les 2 premières images sont redimensionnemées indentiquement et après c'est l'anarchie, elles sont de n'importe quelle taille le redimensionnement est totalement aléatoire. En faite avec ta solution j'ai à moitié résolu mon problème, en effet, si toutes mes images ont la même dimension initiale elles seront reimensionner de la même manière, j'aurais voulu un redimensionnement qui s'adapte à toutes les tailles d'images, mais c'est pas grave merci encore Girou.

1 2

Cette discussion est classée dans : problème, var, xml, charger, targetclip


Répondre à ce message

Sujets en rapport avec ce message

Charger un nouveau XML après le chargement ! [ par benjiman2 ] Bonjour,Je voudrais savoir s'il était possible de charger un nouveau document XML après le chargement complet de l'animation (et donc, de l'ancien XML charger un swf dans un swf à partir d'un lien xml [ par furylao ] Bonjour, à tous, Je débute en as3 et Je vais essayer de vous expliquer mon souci : Je voudrais charger un fichier swf dans mon swf en cours (accueil, Problème avec duplicateMovieClip dans une boucle [ par ov3rdoze ] Bonjour Je débute en AS et ai un problème. J'ai un fichier XML dans lequel des coordonnées sont enregistrées. J'ai un objet que je souhaite dupliqué Redimensionné images charger a partir d'un XML [ par ArC3Nik ] Bonjour Voila je souhaite afficher sur un site les dernière meilleur vente dans un flash. Les information sont stocké dans un fichier xml. Je commen Problème de chargement [ par stevefigueras ] Bonjour à tous j'ai construit un site tout en flash qui fonctionne correctement mais le souci c'est qu'il est très long à charger (environ 1 minute) problème avec XML [ par JCpp ] [url="http://ia.jenny.free.fr/Botmaster.htm"]http://ia.jenny.free.fr/Botmaster.htm[/url] AcrionScript 3 Lecture d'un fichier XML [ par nuns ] Bonjour, J'essaie de faire une classe pour charger un fichier xml, qui comporte juste le chemin des images sur le serveur. La lecture ce fait correc probleme flashvars sur bdd xml [ par vilkoyote ] Bonjour a tous :) Voila j'ai dev un petit flash en AS3 et j ai un problème de récupération de variable via la section AC_FL_RunContent du html génér Remplir un tableau avec du xml [ par Kangouroops ] Bonjour tout le monde, Me revoilà avec une nouvelle question. Pour repréciser les choses je débute complètement en programmation, du coup je regarde Préchargement d'image [ par Kangouroops ] Bonjour tout le monde, Je viens à vous pour une petite question, Je suis entrain de faire un générateur d'avatar: http://hanser.perso.neuf.fr/Amaury


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales