problème flash/actionscript

problème flash/actionscript - Flash/ActionScript - Programmation

Marsh Posté le 08-07-2008 à 11:25:50    

Bonjour, je suis en train de faire un site internet avec une page d'intro en flash, cependant comme il est écrit dans le sujet, j'ai un problème. Etant débutant je ne comprends pas mais cela est sans doute normal. Voila le code :
 
var tXML:XML = new XML();
tXML.ignoreWhite = true;
tXML.onLoad = function(success) {
 iImage1.loadMovie("./swf/"+(unescape(tXML.firstChild.childNodes[0].firstChild.toString())));
 iText1.htmlText = unescape(tXML.firstChild.childNodes[1].toString());
 iText2.htmlText = unescape(tXML.firstChild.childNodes[2].toString());
 iText3.htmlText = unescape(tXML.firstChild.childNodes[3].toString());
 iImage.loadMovie("./swf/"+(unescape(tXML.firstChild.childNodes[4].firstChild.toString())));
 iText4.htmlText = unescape(tXML.firstChild.childNodes[5].toString());
 iText5.htmlText = unescape(tXML.firstChild.childNodes[6].toString());
 iText3.text = nettoyerTexte(iText3.text);
 
 
La fonction nettoyerTexte :
 
function nettoyerTexte(chaine){
     var retour= "";
  var i=0;
  var longueur = chaine.length;
  var tabChar= new Array('À','Ç','È','É','Ê','à','á','â','ã','ä','å','ç','è','é','ê','ë','ì','í','î','ï','ñ','ò','ó','ô','õ','ö','ù','ú','û','ü');
  var tabHTML = new Array("Agrave","Ccedil","&Egrave","Eacute;","Ecirc","agrave","aacute","acirc","atilde","auml","aring","ccedil","egrave","eacute","ecirc","euml","igrave","iacute","icirc","iuml","eth","ograve","oacute","ocirc","otilde","ouml","ugrave","uacute","ucirc","uuml" );
   
  for(i=0;i<longueur;i++){
  trace(chaine.charAt(i));
  if(chaine.charAt(i)=='&'){
    trace("jai tourvé un &" );
    var j=i+1;
    var accent="";
    while(chaine.charAt(j)!= ';'){
      accent+=chaine.charAt(j);
   j++;
    }
    var k =0;
    var trouve=0;
    while(k<tabHTML.length && trouve==0){
     if(tabHTML[k]==accent){
       retour+=tabChar[k];
    trouve=1;
     }
     k++;
    }
    i+=accent.length+1;
    trace("accent trouve: "+accent);
  }
  else{
    retour+=chaine.charAt(i);
  }
  }
   
  return retour;
}
 
Le truc assez inouïe je trouve, c'est que lorsque je nettoie iText3, iText2 et iText5 prennent la même valeur que iText3.
C'est sans doute très con comme solution mais je n'y connais rien en flash et la personne qui m'aide n'est pas la.
Merci pour vos réponses

Reply

Marsh Posté le 08-07-2008 à 11:25:50   

Reply

Marsh Posté le 18-07-2008 à 22:32:05    

met un titre plus explicite, et ton code entre les balises [ cpp ] et [ /cpp ] pour plus de lisibilité :)  
sinon, ton code a l'air de parser un texte pour trouver les accents, je me trompe?
je crois qu'il y a des moyens plus simple plutôt que de refaire tout ça a la main... mais pas sur :o


---------------
Mangas/DVD - Chiptune
Reply

Marsh Posté le 30-07-2008 à 23:51:25    

si y'a plus simple.
Lis la doc de la "Array Class".
Déjà, tu peux faire:

Code :
  1. var tab:Array=new Array();
  2. tab.push({acc:"è",nom:"accent grave"});


pour remplir ton tableau (tout en 1 seul). Tu accèdes ensuite à tab[0].nom (qui renverra "accent grave" );
Avec tab.indexOf, tu peux recevoir direct l'indice correspondant à un terme recherché.
De toute facon, dans l'aide, t'as un exemple  :jap:


---------------
Putain j'ai rêvé de toi cette nuit !! Alors que jte connais même pas !!-LaL0utre | Ben_be est un roxxeur d'ours d'envergure mondiale-Daaadou |Entre un dessert et Ben_be je choisis Ben_be-Ramasse-miette
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed