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 :

[FLASH 8] Problème avec onLoadComplete


Sujet :

Flash

  1. #1
    Membre éprouvé Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Par défaut [FLASH 8] Problème avec onLoadComplete
    salut,
    j'essaie de faire un diaporama dynamique. ça avance doucement (surtout grâce aux messages et à l'aide de ce forum).
    J'ai un listener et j'arrive à exécuter des actions sur onLoadInit. Mais j'ai l'impression que mon onLoadComplete ne fonctionne pas. Je fais par exemple un trace (mc._width) qui me renvoie 0.
    Voici une partie du code :
    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
    ...
    myListener.onLoadInit = function(mc:MovieClip) {
    	var rapport:Number = mc._width / mc._height;
    	mc._width = 300;
    	mc._height = 300 / rapport;
    	var fadein:Tween = new Tween( mc,"_alpha", Bounce.easeOut, 0, 100, 1, true );
     
    }
     
    myListener.onLoadComplete = function(mc:MovieClip){
    	trace(mc._width); 
    	temp = setInterval(fadeout(mc),3000);
    }
     
    function slideShow() {
    	path = "slideshow_pictures/" + pArray[i];
    	mcl.loadClip(path, fake);
    	count();
    }
     
    function fadeout(mc){
    	var fadeout:Tween = new Tween(mc,"_alpha", Bounce.easeOut, 100, 0, 1, true );
    	clearInterval(temp);
    }...
    Ne peut-on pas utiliser deux événements sur le même Listener ?

  2. #2
    Membre Expert
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Par défaut
    salut
    mets ton : trace(mc._width); dans le onLoadIntit()
    sinon, test en ligne

  3. #3
    Membre éprouvé Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Par défaut
    dans le onLoadInit, le trace (mc._width) fonctionne bien, et c'est la raison pour laquelle je ne comprends pas pourquoi il ne fonctionne pas dans le onLoadComplete !
    J'ai essayé en ligne, mais j'ai exactement le même résultat :
    * mes images se chargent
    * j'ai un effet de fade in
    * mais pas de fadeout

  4. #4
    Membre Expert
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Par défaut
    je ne comprends pas ce que tu veux faire
    tu veux un fadein au chargement > ça c'est ok
    quand veux tu le fadeout ?

  5. #5
    Membre éprouvé Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Par défaut
    le fade in fonctionne.
    Mais je bute effectivement sur le fade out, surement parce que je m'y prends mal.
    Voici ce que je fais.
    Quand le chargement est fini (onLoadComplete), je temporise trois secondes (temps d'affichage de la photo) avec un setInterval et j'exécute la fonction fadeout qui est censé passer de alpha 100 à alpha 0.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    myListener.onLoadComplete = function(mc:MovieClip){
    	temp = setInterval(fadeout(mc),3000);
    }
     
    ...
     
     
    function fadeout(mc){
    	var fadeout:Tween = new Tween(mc,"_alpha", Bounce.easeOut, 100, 0, 1, true );
    	clearInterval(temp);
    }
    merci pour le coup de main

  6. #6
    Membre Expert
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Par défaut
    c'est dans le loadinit qu'il faut le mettre alors

  7. #7
    Membre éprouvé Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Par défaut
    on progresse ,
    effectivement, dans le onLoadInit ça fonctionne (j'ai cessé de chercher pourquoi le onLoadComplete ne fonctionne pas).
    Par contre, il ne marque pas la pause de trois secondes. Le fade in et le fade out s'enchainent directement.
    Peut-on place un setInterval dans une fonction ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    myListener.onLoadInit = function(mc:MovieClip) {
    	var rapport:Number = mc._width / mc._height;
    	mc._width = 300;
    	mc._height = 300 / rapport;
    	var fadein:Tween = new Tween( mc,"_alpha", Bounce.easeOut, 0, 100, 1, true );
    	temp = setInterval(fadeout(mc),3000);
    }

  8. #8
    Membre Expert
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Par défaut
    le mieux est d'utiliser un onMotionFinished pour ton tween fadeout

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    642
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 642
    Par défaut
    Si jamais tu ajoute un rectangle de la taille de ton anim sur un autre calque qui se trouve juste en dessus, puis tu clique droite sur le calque et tu mets que c'est un mask.

  10. #10
    Membre Expert
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Par défaut
    ????

  11. #11
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    642
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 642
    Par défaut
    Bon d'accord JP, c'est plus propre en AS dirrecte, mais j'assure moins la dessus.

  12. #12
    Membre Expert
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Par défaut
    tu es sûr de répondre dans le bon post ?

  13. #13
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    642
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 642
    Par défaut
    Effectivement, il y a erreur, je sais pas comment cela c'est produit, mdr.

  14. #14
    Membre éprouvé Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Par défaut
    J'ai mis un onMotionFinished mais j'obients le même résultat, à savoir que le fadein et le fadeout s'enchaine alors que j'aimerai marquer une pause de trois secondes entre les deux.

    J'ai essayé d'enchainer plusieurs onMotionFinished mais sans succès (cf ci dessous):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    myListener.onLoadInit = function(mc:MovieClip) {
    	var rapport:Number = mc._width / mc._height;
    	mc._width = 300;
    	mc._height = 300 / rapport;
    	var fadein:Tween = new Tween( mc,"_alpha", none, 0, 100, 2, true );
    	fadein.onMotionFinished = function () {var wait:Tween = new Tween( mc,"_alpha", none, 100, 100, 3, true )};
    	wait.onMotionFinished = function () {var fadeout:Tween = new Tween( mc,"_alpha", none, 100, 0, 2, true )};
     
    }
    Comment faire d'après vous pour marquer une pause de trois secondes puisque cette méthode fonctionne pas et que setInterval ne semble pas fonctionner non plus (cf post précédents)?

  15. #15
    Membre Expert
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062

  16. #16
    Membre éprouvé Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Par défaut
    Pour ceux que ça intéresse, ça y est j'ai compris pourquoi le setInterval et setTimeout ne fonctionnait pas. Je ne le mettais pas au bon endroit...
    voici donc le code qui marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    myListener.onLoadInit = function(mc:MovieClip) {
    	loader._visible = false;
    	mc.setMask(mc_mask);
    	var rapport:Number = mc._width / mc._height;
    	mc._width = 300;
    	mc._height = 300 / rapport;
    	var fadein:Object = new Tween( mc,"_alpha", none, 0, 100, transition, true );
    	fadein.onMotionFinished = setTimeout(function() {
    		var fadeout:Object = new Tween( mc,"_alpha", none, 100, 0, transition, true );
    	},wait);
    }
    Merci Jean Philippe pour ton aide.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 28/10/2004, 10h57
  2. Réponses: 7
    Dernier message: 05/10/2004, 13h44
  3. [FLASH MX2004] Problème de menu avec explorer
    Par lyne dans le forum Flash
    Réponses: 2
    Dernier message: 24/08/2004, 19h34
  4. [FLASH MX2004 PRO] Problème étrange avec LoadClip...
    Par josemoroide dans le forum Flash
    Réponses: 6
    Dernier message: 04/08/2004, 15h41
  5. [Flash MX2004] Lancer un *.exe avec fscommand
    Par pioup dans le forum Flash
    Réponses: 7
    Dernier message: 30/07/2004, 16h28

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