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

Flash Discussion :

Problème avec onEnterframe


Sujet :

Flash

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 10
    Points : 9
    Points
    9
    Par défaut Problème avec onEnterframe
    Bonjour.

    Je cherche à faire une fonction qui fait qu'au rollOver sur un clip, ce clip grossit puis retrécit.

    La fonction marche bien sur un clip seul, mais quand j'ai deux clips l'un à côté de l'autre, et que je passe directement de l'un à l'autre, le 2e rollOver stoppe l'exécution du 1er.

    Pour avoir un changement de taille progressif, j'ai utilisé un onEnterFrame. Je ne sais pas si c'est la bonne solution, ou s'il y a plus simple.

    Voici le code que j'ai déjà écrit. Il est important que tout soit géré par une fonction, et je ne connais pas les tailles de mes clips à l'avance. (Il y'en a une trentaine...)

    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
    var tailleMax = 10;
    var speed = 2;
     
    function grow(clip) {
    	clip.clipOrigX = clip._width;
    	var top = 'no';
    	onEnterFrame = function() {
    		if(clip._width<clip.clipOrigX+tailleMax && top=='no') {
    			clip._width = clip._width + speed;
    			clip._height = clip._height + speed;
    		}
    		if(clip._width>=clip.clipOrigX+tailleMax) {
    			top='yes'
    		}
    		if(top=='yes' && clip._width>clipOrigX) {
    			clip._width = clip._width - speed;
    			clip._height = clip._height - speed;
    		}
    	}
    }
     
    emg.onRollOver	= function() { grow(this); }
     
    en.onRollOver	= function() { grow(this); }

  2. #2
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    et ça?

    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
    var tailleMax = 10;
    var speed = 2;
     
    function grow(clip) {
    	clip.clipOrigX = clip._width;
    	var top = 'no';
    	clip.onEnterFrame = function() {
    		if(this._width<this.clipOrigX+tailleMax && top=='no') {
    			this._width = this._width + speed;
    			this._height = this._height + speed;
    		}
    		if(this._width>=this.clipOrigX+tailleMax) {
    			top='yes'
    		}
    		if(top=='yes' && this._width>clipOrigX) {
    			this._width = this._width - speed;
    			this._height = this._height - speed;
    		}
    	}
    }
     
    emg.onRollOver	= function() { grow(this); }
    emg.onRollOut	= function(){delete this.onEnterFrame;}
    en.onRollOver	= function() { grow(this); }
    en.onRollOut	= function(){delete this.onEnterFrame;}

    personnelement j aurais mis la fonction dans le clip directement mais c est un jugement personnel

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    Avec clip.onEnterFrame ca fonctionne effectivement.

    Mais que veux-tu dire par "j'aurais mis la fonction directement dans le clip"?
    Mon but était de pouvoir ajouter n'importe quel clip et que la fonction soit facilement activable (ici juste une ligne à ajouter et un seul terme à changer).

  4. #4
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    alors c est bon
    Mais fait attention au fait que l on utilise le gestionaire onEnterFrame, onRollOver....
    du coup si dans ton clip tu as deja un gestionaire tu risques de l ecraser

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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