Hello :) les caractères de saut de ligne dans la norme ECMAScript il y en a un peu plus que le simple \n :
"\u000A", "\u000D", "\u2028", "\u2029" Essai d'autres caractères ( \r etc.) et ensuite fait un test à part sur une chaine simple pour énumérer le contenu des codes UTF8 des caractères dedans... tu peux t'inspirer de ma classe JS/SSAS UnicodeChar pour trouver les caractères de sauts de lignes ou les esapces : http://code.google.com/p/vegas/source/browse/SSAS/trunk/src/src/vegas/string/UnicodeChar.asc EKA+ :) Le 20 janvier 2010 00:21, samuel <[email protected]> a écrit : > Bonsoir tout le monde, > j'essaie de sortir tous les textes d'un fla avec un jsfl afin de le rendre > traductible mais j'ai un problème pour détecter les saut à la ligne. > j'ai essayer \n et \u000A mais je ne les détecte pas, est-ce que vous savez > comment je pourrai les détecter ? merci > > p.s. je met le code au cas où àa vous inspire ou si vous voyez une > meilleure solution elle est biensûr bien venue, le fla est en as tout simple > vu qu'à la base il n'y avait que 3 boutons à gérer > > // variables > var oDES > var oDOM > var oLIB > var nbTexts > var extractedTexts = []; > > // boucle principale > function run(){ > nbTexts = 0; > fl.outputPanel.clear(); // nettoie la fenetre output > > oDOM = fl.getDocumentDOM(); // référence au fla actuel > oTML = oDOM.getTimeline(); // référence à la timeline de la > scène > oLIB = oDOM.library; // référence à la bibliothèque > oTML.layers[0].frames[0].actionScript += "\nLocalisation = {get : > function(str){ trace(str);}};\n"; > parseTl(oTML); // parse la timeline > parseLib(); // parse la bibliothèque > > fl.trace(nbTexts+" texts found."); > fl.trace(extractedTexts.join("\n")); > } > > // parseur de timeline > function parseTl(oTimeline){ > // parcourt les calques de la timeline > for(var layer in oTimeline.layers){ > // parcourt les frames du calque > for(var i=0 ; i<oTimeline.layers[layer].frames.length ; i++){ > // parcourt les éléments de la frame > for(var e=0 ; > e<oTimeline.layers[layer].frames[i].elements.length ; e++){ > var oElement = > oTimeline.layers[layer].frames[i].elements[e]; > var text = ''; > if(oElement.elementType=='text'){ > // si élément text, remplace le texte > if (oElement.getTextString().indexOf('@_')!==0){ > text = > oElement.getTextString().split("'").join("\\'").split("\u000A").join("\\u000A"); > extractedTexts.push(text); > oElement.textType = 'dynamic'; > oElement.setTextString('@_' + > oElement.getTextString()); > //pas de nom, obliger d'en donner un > if(!(oElement.name.length > 0)){ > oElement.name = 'namesbyext'+nbTexts; > } > oTimeline.layers[layer].frames[i].actionScript += > "\n "+oElement.name+".text = Localisation.get('"+text+"');\n"; > nbTexts++; > } > } > } > // avance dans les frames > var nDur = oTimeline.layers[layer].frames[i].duration; > i+=nDur; > } > } > } > > // parseur de bibliothèque > function parseLib(){ > var aItems = oLIB.items; > for(var i=0 ; i<aItems.length ; i++){ > if(aItems[i].itemType=='instance' || aItems[i].itemType=='movie > clip' || aItems[i].itemType=='button' || aItems[i].itemType=='graphic'){ > // parcourt la timeline de chaque item > parseTl(aItems[i].timeline); > } > } > } > > // gogogo .... fire in the hall > run(); > > -- > Vous recevez ce message, car vous êtes abonné au groupe Google > Groupes FCNG. > Pour envoyer un message à ce groupe, adressez un e-mail à > [email protected]. > Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse > [email protected] <fcng%[email protected]>. > Pour plus d'options, consultez la page de ce groupe : > http://groups.google.com/group/fcng?hl=fr > >--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes FCNG.
Pour envoyer un message à ce groupe, adressez un e-mail à [email protected].
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse [email protected].
Pour plus d'options, consultez la page de ce groupe : http://groups.google.com/group/fcng?hl=fr
