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

  1. #1
    Nouveau Candidat au Club
    Appliquer une fonction uniquement sur un clip
    Bonjour,
    Je suis nouveau sur le forum bien que je vienne y chercher des infos depuis quelque temps.

    J'ai fait un site tout en flash, que j'améliore au fur et a mesure.
    J'ai récemment rajouter un clip a laccueil du site ou il y a beaucoup de texte et quelques images.
    Je l'ai fait sous la forme d'un Clip qui contient toutes les infos a afficher et que l'on fait descendre et remonter a l'aide de boutons auquels j'ai assigné une fonction.
    Cependant je voudrais pouvoir le faire défiler çà à l'aide de la molette de souris.
    J'ai donc mis ce code que j'ai trouvé sur un forum :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    EEcouteurSouris = new Object();
    EcouteurSouris.onMouseWheel = function (delta) {
        if (delta > 0)
        {
            gotoAndStop(_currentframe - 2);
        } 
        else
        {
            gotoAndStop(_currentframe + 2);
        }
    }
    Mouse.addListener(EcouteurSouris);

    Ca marche vu que c'est à l'accueil du site, mais le problème c'est quand je me ballade ailleurs sur le site, dès que j'actionne la molette, ça revient a l'accueil et ca bugue.

    Donc que faire pour que cette fonction ne soitr active que sur mon Clip "Accueil" et pas quand celui ci n'est pas affiché ?
    Merci d'avance

  2. #2
    Membre expérimenté
    Bonjour,
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     nomdetonmovieclip.addEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheel);
     function onMouseWheel(e:flash.events.MouseEvent):void 
     {
        with ( nomdetonmovieclip)
        {
           if (e.delta > 0) gotoAndStop(currentframe - 2);
     
           else gotoAndStop(currentframe + 2);
        }
      }


    quelque chose comme ça....

  3. #3
    Nouveau Candidat au Club
    Bonjour, et merci,
    Je vais aller essayer des que je suis sr mon ordi.
    Une petite question, ce code vaut il mieux le mettre sur mon clip en question ou sur la séquence principale ???

  4. #4
    Membre expérimenté
    sur ta séquence principale mais je viens de me rendre compte que tu es sur de l'as2 donc ça ne marchera pas. Excuse. (c'est du code as3..)

  5. #5
    Membre expérimenté
    Pose la question sur le sous-forum as2, peut-être que Paul TOTH te répondra. ça fait longtemps que je n'ai pas écrit une ligne d'as2...
    Désolé

  6. #6
    Membre expérimenté
    A mon avis il suffit de cibler ton clip tout simplement :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    EcouteurSouris.onMouseWheel = function (delta) {
        if (delta > 0)
        {
            Tonclip.gotoAndStop(Tonclip._currentframe - 2);
        } 
        else
        {
            Tonclip.gotoAndStop(Tonclip._currentframe + 2);
        }
    }
    Mouse.addListener(EcouteurSouris);


    après si tu ne veux plus que l'écouteur soit opérationnel, il faut faire

  7. #7
    Nouveau Candidat au Club
    MAis ou le mettre ce code :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    EcouteurSouris.onMouseWheel = function (delta) {
        if (delta > 0)
        {
            Tonclip.gotoAndStop(Tonclip._currentframe - 2);
        } 
        else
        {
            Tonclip.gotoAndStop(Tonclip._currentframe + 2);
        }
    }

    Moi je l'ai mis dans mon clip "Tonclip"
    Et ca marche sans le cibler comme tu me le dis.

    Par contre le code :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    Mouse.removeListener(EcouteurSouris);

    je sais pas où le mettre. j'ai essayé dans la séquence principale à un endroit où je veux que l'écouteur souris soit inactif mais ça ne fait rien ????

  8. #8
    Membre expérimenté
    Tu mets l'ensemble dans la séquence principale...avec une condition de fin de traitement pour le remove
    ça donne quoi ?

  9. #9
    Membre expérimenté
    Regarde du côté du paramètre scrollTarget de onMouseWheel...
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    onMouseWheel = function([delta: Number], [scrollTarget: Object]) {}

    La solution en as2 est là.

    avec delta:Number, tu rajoutes un paramètre target:Object dans ta fonction et au début de celle-ci, tu mets une condition : si target est différent de ton clip return...
    Le problème sera réglé.

###raw>template_hook.ano_emploi###