begin process at 2012 05 27 11:07:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Molette de la souris s'accumulant...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Molette de la souris s'accumulant...

jeudi 19 mars 2009 à 17:49:02 | Molette de la souris s'accumulant...

Gloradan

Chers amis bonjour.

J'ignore si mes interrogations trouveront une réponse ici, mais j'éspère tout de même et remercie à l'avance les coups de mains.

Pour poser les bases de ma question:
Je développe de façon "amateur" un site semi pro pour ma PME. J'utilise Flash pour cela (et oui flash seul, je sais, c'est maaaaaaal).
J'ai créé un joli site, avec une animation qui sert "d'interface" avec des boutons qui "appellent" les différentes rubriques (sous forme d'animations isolées) à l'intérieur de la première (l'interface).

Dans l'une de ces rubriques, j'ai créé une galerie de photo (avec des liens vers un document XML qui me permet de changer les photos de la galerie sans passer par flash.) Pour plus de lisibilité, j'ai créé des vignettes dans une animation autogénérée en duplication des vignettes qui chacune va chercher son image. Bon. C'est pas trés clair. Mais ce qu'il faut retenir, c'est que j'ai une animation de grande taille (4250pixels de haut) que j'ai eu envie de faire défiler dans la fenêtre avec la souris... Coté utilisateur...

Barre de défilement, avec un scroller au centre qui repère les coordonnées et les "transfert" à l'animation qui du coup déscend et monte en fonction de la position du point.
Mais j'ai voulu aller plus loin et faire agir la molette de la souris pour le défilement de cette même animation. Comme avec une barre de défilement donc.

Mon animation fonctionne, je suis content, j'ai codé et cherché et ça marche

A UN détail près: Chaque fois que je load l'animation (chaque fois que je relance la rubrique...) la molette fait déscendre TOUJOURS un peu plus l'animation. Comme si une mémoire de cette rubrique accumulait le déroulement de la molette. Je n'arrive pas à comprendre pourquoi.

Pour illustrer, voici le code de la première image du scénario de ma Barre de défilement: ce code permet de faire agir la molette de la souris sur mon slider (petit point situé sur le glissoir et afissant sur les coordonnées Y (verticales) de l'animation a faire dérouler. J'ai tellement galeré pour créer le code de la molette (je susi autodidacte coté AS e flash et il me reste Beaaaaauuuuucoup de boulo!!) je suis un peu déçu de voir ce petit problème... Comme une sorte de cache mémoire qui garde une donnée et qui s'accumule à chaque load (même si entre temps, une autre rubrique est lancée, chacun des rubrique garde en mémoire le "nombre de fois " ou elle a été lancée et cela agit sur la quantité de défilement avec la molette que ce soit vers le haut ou le bas! Argh!

var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function(delta) {
    if (delta>=0){ // ca c'est pour la molette qui roule vers le haut
        slider3._y -=slider3.ScrollOffsetY3; //slider est mon occurence de point (le petit point qui se trouve le long de la barre de défilement) et ScrollOffSetY3 est une valeur constante initiée dans la première image du Slider
        if (slider3._y>slider3.max){ //de même, slider max = variable donnée dans le slider
            slider3._y=slider3.max;
        }
        else
        {
            if (slider3._y<slider3.min){ // même chose pour min
                slider3._y=slider3.min;
            }
        }
   
    window = 0;
    percent = Math.floor((slider3._y-slider3.min)/(slider3.max-slider3.min)*100);
   
    delta = 4250;
    if(delta > 0){
        _parent.Module_Content._y = window-(percent/100)*delta; //modulecontent est l'animation que je fais défiler
        updateAfterEvent();
    }}
    if (delta<=0){trace(slider3.ScrollOffsetY3); // même code ou presque pour la roulette qui va rouler vers le bas...
   
    slider3._y +=slider3.ScrollOffsetY3;
        trace("slider32 "+slider3._y);
        if (slider3._y>slider3.max){
            slider3._y=slider3.max;
        }
        else
        {
            if (slider3._y<slider3.min){
                slider3._y=slider3.min;
            }
        }
   
    window = 0;
    percent = Math.floor((slider3._y-slider3.min)/(slider3.max-slider3.min)*100);
   
    delta = 4250;
    trace("delta "+delta);
    if(delta > 0){
        _parent.Module_Content._y = window-(percent/100)*delta;
       
        updateAfterEvent();
    }}
    }
Mouse.addListener(mouseListener);
mardi 20 octobre 2009 à 21:21:07 | Re : Molette de la souris s'accumulant...

angela07

Bonsoir Gloradan !

C'est un peu tard pour répondre, mais au cas où tu n'aurais pas trouvé ...

J'avais exactement le même problème que toi il n'y a pas longtemps, et je suis tombée sur ce post : http://www.flashkod.com/forum/sujet-GROS-SOUCI-AVEC-MOUSELISTENER-ONMOUSEWHEEL_398629.aspx, qui a réglé mon souci.

Tente de mettre sur tes boutons :
Mouse.removeListener(le chemin de la rubrique appelée.mouseListener);

Ca devrait fonctionner.

En espérant t'avoir aidé !

Angélique


Cette discussion est classée dans : animation, delta, molette, if, slider3


Répondre à ce message

Sujets en rapport avec ce message

Fair controler un scène par une molette [ par sunshine1016 ] Bonjour,Je vous expose mon idée:J'ai deux éléments sur ma scène: une molette et une bande d'image(comme une pellicule photo). Je voudrai que quand je onrollover en condition de if [ par M4n0ush ] Bonsoir a tous, Je viens vous demander un peu d'aide en tant que débutant en action script, car je me retrouve bloqué dans ma création d'un site inter action script pour arréter un son dans une animation flash [ par zrellianiss ] Bonjourdans une animation flash  saisissant plusieurs pages,  j'ai introduit un son. Parmi afficher une animation.fla sur une page html [ par mdadou ] comment faire afficher une animation en flash 8 sur une page HTML sachant que j'ai pas la page en .swf sinon comment faire reproduire la page.fla en p défilement de photo en flash [ par marsew ] bonjour à tous. Une image vaut mieux que mille mots. Voiçi ce que je voudrais reproduire en flash et l'intégrer dans mon site: http://www.ozap.com/ Il Animation de sortie lors d'un changement de page [ par MilkGraphik ] Salut , je suis graphiste et comme mon metier l'indique , je ne suis pas bon du tout en dev... jusqu'a maintenant je laissais le soin à un vrai dev de opacité qui augmente avec l'animation [ par piratack007 ] salut comment dois-je faire pour réaliser une animation dont laquelle il y a une lettre dont l'opacité augmente doucement comme cela<img src="http://w changer d'étiquette dans le FLA lorsque la page html est rechargée [ par esopone ] Bonjour à tous, voilà mon soucis, je dois jouer une animation flash depuis une étiquette différente lorsque la page hml est vue une seconde fois comm loadMovie tendu... [ par joviper ] Bonjourpourquoi ça ne marche pas loadMovie dans ce cas :actualites_btn.addEventListener(MouseEvent.CLICK, onActualitesClick);function onActualitesClic


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales