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 3 Discussion :

scroll texte simple


Sujet :

ActionScript 3

  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 27
    Par défaut scroll texte simple
    Bonjour à tous,

    Petit problème du lundi matin...

    Préambule, je rappelle que je débute en AS3.

    Ma question : je cherche à réaliser un scrolltexte le plus simple possible avec 2 boutons, up et down. Je les ai convertis en symbole (clips).
    Je bute depuis plusieurs jours là-dessus. Tous les modèles trouvés fonctionnent en AS2.
    (Un seul en AS3, mais là, le problème est différent, je n’arrive pas à le copier sur un autre fichier fla.)

    J’ai essayé le code suivant pour mes boutons, je sais qu’il y a une erreur. J’ai lu un tas de chose sur le sujet, mais je tourne en rond.

    Voici mon code
    Bt_Up.addEventListener(MouseEvent.CLICK,onClickUp);
    Bt_Down.addEventListener(MouseEvent.CLICK,onClickDown);
    function onClickUp(event:Event):void {
    texte.scrollV-=1;
    }
    function onClickDown(event:Event):void {
    texte.scrollV+=1;
    }


    Quelqu’un peut-il m’aider ou me rediriger vers un tuto, un vrai, en AS3, qui soit suffisant compréhensible pour un débutant…

    Merci d’avance

    jp

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 32
    Par défaut
    Salut jpdmfr !

    Attention, les types d'évènements de tes fonction "onClickDown" et "onClickUp" sont erronés ! Regarde, lorsque tu déclares les écouteurs sur "Bt_Up" et "Bt_Down" tu appelles la classe MouveEvent. Hors, dans tes fonctions, tu y déclares un évènement de la classe Event !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Bt_Up.addEventListener(MouseEvent.CLICK,onClickUp);
    Bt_Down.addEventListener(MouseEvent.CLICK,onClickDown);
     
    function onClickUp(evt:MouseEvent):void {
    texte.scrollV-=1;
    }
    function onClickDown(evt:MouseEvent):void {
    texte.scrollV+=1;
    }

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 27
    Par défaut
    effectivement !!!
    merci.

    je vais regarder ça de plus près, pour le fun.

    depuis, j'ai trouvé d'après le bouquin de Anne Tasso, Apprendre à programmer en AS3 pas mal de choses.
    Pour débuter, son bouquin est excellent.
    nul doute qu'il faille passer à qque chose de plus complet ensuite, mais ça dégrossi bien.

    JP

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 27
    Par défaut solution
    pour info, voici le code :

    btnbas.addEventListener(MouseEvent.MOUSE_DOWN,verslebas);
    btnhaut.addEventListener(MouseEvent.MOUSE_DOWN,verslehaut);
    function verslebas( evt: MouseEvent):void {
    sam.scrollV++;
    }
    function verslehaut( evt: MouseEvent):void {
    sam.scrollV--;
    }


    si ça peut servir à quelqu'un...

  5. #5
    Candidat au Club
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Par défaut Ligne par ligne
    Bonsoir, merci pour ce code qui marche à merveille... à un détail près pour l'utilisation que je voudrais en faire, à savoir :

    Tel qu'il est présenté là, à chaque clic sur le boutons, le contenu du champ texte se déplace seulement d'une ligne. Moi je voudrai que temps que le clic est maintenu il continu de descendre et qu'il stop une fois le clic relâché! Je n'arrive pas à trouver comment procéder.

    En as2 j'utilisai une variable qui passais à 1 lors du onPress et à 0 lors du onRelase, lorsque la variable était à 1 le champ scrollais en continu. J'ai bien essayé de "traduire" cette méthode en as3 mais en vain. (précision je travail sur mon premier site en as3)

    Je continu de chercher et si j'ai ma réponse avant que vous ne m'éclairiez je viendrais la partager !

    Bon code à tous !

    Thibaut

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 27
    Par défaut
    je pense qu'en suveillant le MOUSE_UP et en intégrant à la fonction cet évènement, ça devrait fonctionner.

    bon courage

  7. #7
    Candidat au Club
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Par défaut
    Je n'ai pas réussi à progresser sur le sujet depuis mon post.

    Merci Jpdmfr, j'aivais bien pensé que le MOUSE_UP servirai à stoper le scroll continu mais justement, comment le rendre continu jusqu'a l'événement MOUSE_UP ?

    J'ai légèrement dérivé ton code pour mon utilisation j'utilise MOUSE_OVER et donc l'opposé sera MOUSE_OUT mais que ce soit avec ta version ou ma version je ne sais pas si je dois continuer à utiliser une variable ou si il y a une méthode plus simple avec AS3.

    Si quelqu'un a un exemple de code as3 ou si vous connaissez un tuto simple pour effectuer le scroll continu avec une variable je suis preneur car je n'ai pas réussi à "traduire" mon code as2 qui utilisais un onEnterFrame qui regardais la valeur de ma variable.

    Merci d'avance pour vos réponses.

    Bonne journée à tous !!!

    Thibaut

  8. #8
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 27
    Par défaut
    ne peux-tu pas boucler à l'intérieur de la fonction sur le scroll tant que l'evenement MOUSE_UP ne se présente pas ?

    d'après ce que j'ai compris de l'AS3, il est très proche des autres langages de programmation (plus que l'AS2) et donc, je pense inutile de passer par une variable, quoique ce soit une habitude que j'ai prise en php, moi aussi...

    je ne peux pas chercher sur le sujet en ce moment mais le premier de nous deux qui trouve mettra la réponse en ligne, pour les autres...

    bon code
    jp

  9. #9
    Candidat au Club
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Par défaut
    ne peux-tu pas boucler à l'intérieur de la fonction sur le scroll tant que l'evenement MOUSE_UP ne se présente pas ?
    Je veux bien mais comment?

    Pour ce qui est de l'utilisation de variable je pense ne pas être loin de la solution... mais je bloque :
    Je suis parti dans un nouveau document vide pour faire des tests avec seulement la mise en marche du scoll (soit juste l'action MOUSE_DOWN) couplée avec ma variable :

    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
    18
    19
    20
    21
     
    import flash.events.*; 
     
    var s:int=0;
    trace ("pas encore de clic, s égal "+s+"")
     
    this.btnbas.addEventListener(MouseEvent.MOUSE_DOWN,verslebas);
     
    function verslebas( evt: MouseEvent):void {
    	var s:int=1;
    	trace ("le clic a lieu s égal "+s+"")
    }
     
     
    this.addEventListener(Event.ENTER_FRAME,scrollverslebas); 
    function scrollverslebas(evt:Event){ 
    	if (s>0) {
    		trace ("s est egal a 1 donc on doit scroller");
    		montexte.scrollV++;
    	}
    }
    mes deux premiers trace sont corrects mais celui de ENTER_FRAME ne fonctionne pas donc mon scroll ne marche pas comme ça...

    Merci pour vos réponses !

    Thibaut

  10. #10
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 27
    Par défaut
    pour ma part, je n'utiliserais pas 2 fonctions.
    il te faut dans ta fonction boucler sur l'action.
    et c'est le MOUSE_UP qui te sortirait.

    je ne vois pas l'utilité du ENTER_FRAME.

    mais je ne suis pas encore assez calé en AS3 pour t'aider plus avant...

  11. #11
    Candidat au Club
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Par défaut Solution scroll haut et bas sur champ de texte dynamique en AS3
    N'ayant pas trouvé de solution par moi même, j'ai finalement trouvé et adapté un code qui fonctionne à merveille pour faire ce que je voulais : source originale ici.

    Et voici mon adaptation :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    import flash.events.*; 
     
    var isScroll:Boolean; 
    function scrollBas (e:MouseEvent) 
    { 
        isScroll = true; 
        function overBtnbas (e:Event) 
        { 
            if (!isScroll) 
            { 
                e.target.removeEventListener (Event.ENTER_FRAME, overBtnbas); 
            } 
            e.target.scrollV++; 
        } 
        montexte.addEventListener (Event.ENTER_FRAME, overBtnbas); 
    } 
     
    function scrollHaut (e:MouseEvent) 
    { 
        isScroll = true; 
        function overBtnhaut (e:Event) 
        { 
            if (!isScroll) 
            { 
                e.target.removeEventListener (Event.ENTER_FRAME, overBtnhaut); 
            } 
            e.target.scrollV--; 
        } 
        montexte.addEventListener (Event.ENTER_FRAME, overBtnhaut); 
    } 
     
    function stopScroll (e:MouseEvent) 
    { 
        isScroll = false; 
    } 
    btnhaut.addEventListener (MouseEvent.MOUSE_OVER, scrollHaut); 
    btnbas.addEventListener (MouseEvent.MOUSE_OVER, scrollBas); 
    addEventListener (MouseEvent.MOUSE_OUT, stopScroll);
    J'espère que ça va pouvoir vous être utile !

    Bon code à tous.

    Thibaut

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

Discussions similaires

  1. Convertir un texte RTF en texte simple
    Par kunfuka dans le forum C#
    Réponses: 1
    Dernier message: 12/04/2007, 00h11
  2. Scrolling texte dans une fenêtre API W32
    Par vec dans le forum Windows
    Réponses: 3
    Dernier message: 07/12/2006, 11h01
  3. Réponses: 4
    Dernier message: 06/06/2006, 11h07
  4. Saisie d'un text simple
    Par aityahia dans le forum Débuter
    Réponses: 2
    Dernier message: 27/03/2006, 16h18
  5. Editeur de texte simple comme notepad mais en JAVA
    Par Hamdi Hedhili dans le forum EDI et Outils pour Java
    Réponses: 2
    Dernier message: 13/03/2006, 14h32

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