IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 1 & ActionScript 2 Discussion :

Afficher un texte ligne par ligne


Sujet :

ActionScript 1 & ActionScript 2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut Afficher un texte ligne par ligne
    Bonjour à tous,

    Débutant en AS2, je cherche à afficher un texte ligne après ligne.
    Après avoir lu quelques articles et tutos, j'ai fait :

    1- Crée un texte dynamique nommé "the_texte"
    2- le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var tab_texte = new Array("Ligne1","Ligne2","Ligne3","ligne4","ligne5","Ligne6");
     
    for(var i=0;i<tab_texte.length;i++){
    	texteID.i = setInterval(the_texte.text += tab_texte[i]+newline,3000);
    	clearInterval(texteID.i);
    }
    Le texte s'affiche bien dans la zone, mais d'un seul bloc, sans respecter
    le setInterval de 3 secondes.

    Un coup de main ?
    D'avance merci.

  2. #2
    Membre très actif

    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 612
    Par défaut
    Bonjour la function setInterval doit recevoir comme parmètre une function, du coup dans votre code le parmètre de function n'est pas présent, à la place ce trouve du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    the_texte.text += tab_texte[i]+newline
    et ce code est exécuté directement a ça lecture;
    Ensuite le clearInterval doit être appelé après l'exécution de votre function.
    Or ici, même si le premier paramètre été bien une function.
    Elle ne serrait logiquement pas appelé au bout de trois seconde.
    Car juste après avoir appelé setinterval, vous appelez clearInterval.

    je modifierais votre code de la façon suivante ( a tester ):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    var tab_texte = new Array("Ligne1","Ligne2","Ligne3","ligne4","ligne5","Ligne6");
     
    _global.index=0;
    _global.txCible=texteID;
    _global.timerId=0;
    _global.tab_texte= tab_texte;
    _global.i=0;
    function next()
    {
    _global.txCible.text += _global.tab_texte[_global.i]+"\r\n";
    _global.i++;
    if(_global.i>= _global.tab_texte.length){
    clearInterval(_global.timerId);
    }
    }
    _global.timerId=setInterval(next,3000);
    Citation Envoyé par renaud26 Voir le message
    Bonjour à tous,

    Débutant en AS2, je cherche à afficher un texte ligne après ligne.
    Après avoir lu quelques articles et tutos, j'ai fait :

    1- Crée un texte dynamique nommé "the_texte"
    2- le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var tab_texte = new Array("Ligne1","Ligne2","Ligne3","ligne4","ligne5","Ligne6");
     
    for(var i=0;i<tab_texte.length;i++){
    	texteID.i = setInterval(the_texte.text += tab_texte[i]+newline,3000);
    	clearInterval(texteID.i);
    }
    Le texte s'affiche bien dans la zone, mais d'un seul bloc, sans respecter
    le setInterval de 3 secondes.

    Un coup de main ?
    D'avance merci.

  3. #3
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    Merci de vous pencher sur ma question.
    Malheureusement, votre code ne fonctionne pas :il n'affiche rien.

    Mais pourquoi des variables globales ? je suis sur la même frame.
    J'avoue que j'ai un peu de mal à comprendre comment chaque ligne de texte
    va s'ajouter alors que l'instruction d'écriture n'est pas dans une boucle...

    Je ne comprends pas non plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    _global.the_text = texteID;
    Pourquoi attribuer une variable au nom de la zone d'affichage ?
    texteID... à quoi ça correspond ?



    Par ailleurs, je pense que next est un mot-clé réservé de AS et ne peut être employé pour une fonction "maison". Mais même en la renommant, ça le fait pas.

  4. #4
    Membre très actif

    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 612
    Par défaut
    j'ai utilisé les variables global pour être sur d'accéder aux variables indépendamment du 'this'.
    Concernant la non-utilisation de la boucle for :
    la function setinterval permet d'appeler une function à interval régulier.
    en utilisant setInterval(next,3000);
    Je souhaite indiquer au player d'appeler la function next toute les 3 secondes
    ce qui doit être le cas, l'appèle de la function clear interval stoppant cette répétition.
    cette function doit donc normalement être appelée plusieurs fois.
    au première appel de next la variable i vaut 0.
    au milieu de la methode next on peut lire
    cette ligne indique au player d'incrémenter la variable _global.i;
    au deuxième appèle de next la variable i vaut donc 1
    au troisième appèle de next la variable i vaut donc 2
    etc.
    voila bonne fin de soiré

  5. #5
    Membre très actif

    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 612
    Par défaut
    par contre oui il y'as une erreur sur texte id
    vous pouvez tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    var tab_texte = new Array("Ligne1","Ligne2","Ligne3","ligne4","ligne5","Ligne6");
    
    _global.index=0;
    _global.txCible=the_texte;
    _global.timerId=0;
    _global.tab_texte= tab_texte;
    _global.i=0;
    function next()
    {
    _global.txCible.text += _global.tab_texte[_global.i]+"\r\n";
    _global.i++;
    if(_global.i>= _global.tab_texte.length){
    clearInterval(_global.timerId);
    }
    }
    _global.timerId=setInterval(next,3000);

  6. #6
    Membre très actif

    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 612
    Par défaut
    si ça ne marche pas, je n'ai pas d'autre idée, mais n'hésitez pas à le dire, quelqu'un d'autre pourra surement solder votre problème.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] afficher à partir d'un fichier ligne par ligne
    Par idanibechir dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 24/05/2010, 15h37
  2. Afficher un long texte ligne par ligne
    Par mazflo007 dans le forum Flash
    Réponses: 2
    Dernier message: 05/04/2009, 13h23
  3. Lire un fichier texte ligne par ligne
    Par LeLaid dans le forum Access
    Réponses: 7
    Dernier message: 05/12/2006, 16h05
  4. concaténer fichiers texte ligne par ligne
    Par tiboleo dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/03/2006, 13h45
  5. Réponses: 20
    Dernier message: 09/02/2006, 09h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo