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 :

caroussel > déclenchement au survol


Sujet :

ActionScript 1 & ActionScript 2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Par défaut caroussel > déclenchement au survol
    Bonjour a tous,

    Je suis en train d'adapter le code d'un caroussel d'image pour la home page d'un gros site mais je bute sur une fonction que je n'arrive pas a développer. Le tuto (génial) de ce caroussel est disponible ici :lien

    Je reproduis l'essentiel du code AS :


    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    <div style="margin-left:40px">var hScene:Number = Stage.height;
    var wScene:Number = Stage.width;
    var numOfItems:Number;
    var radiusX:Number=300;
    var radiusY:Number=110;
    var centerX:Number=wScene/2;
    var centerY:Number=hScene/2;
    var nSpeed:Number=0.05;
    var perspective:Number=100; 
     
    <div style="margin-left:40px">//chargement du xml
    function load_xml(path:String,type:String){
    var xml:XML = new XML();
    xml.ignoreWhite = true;
    xml.onLoad=function(){
    var nodes = this.firstChild.childNodes;
    numOfItems = nodes.length;
    //appel fonction de création du caroussel quand tout est chargé.
    genereCarousel(nodes);
    }
    xml.load("xml/"+path);
    } 
     
    <div style="margin-left:40px">function genereCarousel(nodes){
    level = this.getNextHighestDepth();
    this.createEmptyMovieClip("carrousel"+iCarousel,iCarousel);
    //creation d'un MovieClip vide pour accueillir le caroussel
    clipHote = this["carrousel"+iCarousel];
    for (var i=0;i&lt;numOfItems ;i++){
    //creation des Movieclip du caroussel (t)
    var t=clipHote.attachMovie("item","item"+i,i+1);
    t.angle = i* ((Math.PI*2)/numOfItems);
    t._y=Math.sin(t.angle)*radiusY +centerY;
    var s:Number = (t._y - perspective)/(centerY + radiusY - perspective)
    t._xscale=t._yscale=s*50;
    t._x=Math.cos(t.angle)*150+centerX;
    t.icon.inner.loadMovie(nodes[i].attributes.image);
    t.icon.smoothing=true;
    //reflet
    t.ref.inner.loadMovie(nodes[i].attributes.image);
    t.swapDepths(Math.round(t._xscale) + 100 +i);
    //mouvement
    t.onEnterFrame = mover;
    }
    } 
     
    <div style="margin-left:40px">function mover(){
    this.swapDepths(Math.round(this._xscale) + 100);
    this._x=Math.cos(this.angle)* radiusX + centerX;
    this._y=Math.sin(this.angle)* radiusY + centerY;
    var s:Number = (this._y - perspective)/(centerY + radiusY- perspective);
    this._xscale=this._yscale=s*100;
    this.angle += nSpeed;
    } 
     
    <div style="margin-left:40px">this.onMouseMove = function(){
    //mise a jour de la variable de vitesse utilisée dans la fonction mover
    nSpeed=(this._xmouse-centerX)/15000;
    } </div></div></div></div></div>
    Mon objectif est le déclenchement de la rotation uniquement au survol de l'animation. Je voudrais que lorsque le curseur est out le caroussel se fige. Et pour l'instant les solutions que je trouve ne fonctionnent pas, alors si quelqu'un a une idée ;o)

  2. #2
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Par défaut
    Salut,

    il te faudrait déclarer une variable qui indique su la souris est sur l'animation ou non pour tester sa valeur dans la fonction mover. (si je me trompe pas)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // variable
     
    _root.bMouseIsOn = false;
    _root.onRollOver = function()
    {
      this.bMouseIsOn = true;
    };
    _root.onRollOver = function()
    {
      this.bMouseIsOn = false;
    };
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    // test variable dans fonction
     
    function mover(){
     if(_root.bMouseIsOn == true)
     {
      this.swapDepths(Math.round(this._xscale) + 100);
      this._x=Math.cos(this.angle)* radiusX + centerX;
      this._y=Math.sin(this.angle)* radiusY + centerY;
      var s:Number = (this._y - perspective)/(centerY + radiusY- perspective);
      this._xscale=this._yscale=s*100;
      this.angle += nSpeed;
     }
    }

Discussions similaires

  1. [JButton] Afficher texte en survolant bouton.
    Par Galima dans le forum Composants
    Réponses: 2
    Dernier message: 04/06/2004, 22h21
  2. Déclenchement sur select
    Par sdinot dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 02/04/2004, 11h52
  3. 1er déclenchement d'un trigger d'auto-incrément
    Par babylone7 dans le forum Administration
    Réponses: 11
    Dernier message: 11/03/2004, 16h21
  4. Réponses: 3
    Dernier message: 11/03/2004, 16h11
  5. Déclenchement Programme sur Virtual Key
    Par Tom-G dans le forum API, COM et SDKs
    Réponses: 9
    Dernier message: 09/05/2003, 12h58

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