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 :

HELP ! Arreter un panoramique apres 20 sec


Sujet :

ActionScript 1 & ActionScript 2

Vue hybride

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

    Informations forums :
    Inscription : Juillet 2008
    Messages : 8
    Par défaut HELP ! Arreter un panoramique apres 20 sec
    Bonjour,
    j'utilise une panoramique généré par actionscript comme suis :

    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
     
    _root.createEmptyMovieClip("image01",1);
    _root.image01.attachMovie("photo","mc_photo",1);
     
    _root.createEmptyMovieClip("image02",2);
    _root.image02.attachMovie("photo","mc_photo",1);
    _root.image02._x=image01._x+image01._width;
     
    // variables
    var largeur_scene=998;
    var largeur_image=image01._width;
    var interaction = 0;
     
    _root.onEnterFrame=function(){
     
        if(interaction == 0){
     
            deplacement =_xmouse;
            deplacement=deplacement-(largeur_scene/3);
            deplacement = deplacement/150;
     
            image01._x=image01._x-deplacement;
            image02._x=image02._x-deplacement;
     
            //partie droite
            if (image01._x>=largeur_scene){
            image01._x=image02._x-largeur_image;
            }
     
            if (image02._x>=largeur_scene){
            image02._x=image01._x-largeur_image;
            }
     
            // partie gauche
     
            if (image01._x+largeur_image<=0){
            image01._x=image02._x+largeur_image;
            }
            if (image02._x+largeur_image<=0){
            image02._x=image01._x+largeur_image;
            }
     
        }
     
     
    }
    stop();
    Hors j'aimerais bien qu'il stoppe au bout de 20 sec d'inactivité (c'est à dire que la souris n'est plus dessus), et quand la souris repasse dessus l'anim se relance.

    J'ai bien bidouillé un code qui me génére un clip vide et qui permet un "interaction=1", mais celui-ci me desactive les actions de boutons stockés dans des clips sur mon clip "photo" (vous me suivez ?!?)


    et si j'utilise ce code :
    function stopMyAnimation() {
    delete onEnterFrame;
    clearInterval(t1);
    }
    t1 = setInterval(stopMyAnimation,20000);

    l'animation s'arrête mais ne redémarre pas ...

    Je crois devenir folle ! Y aurait il une ame charitable pour m'aider ?

    Merci par avance


    PS pour voir le panoramique dans le feu de l'action : My decoration

    EDIT: rajout de la balise CODE, Jim_Nastiq

  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 et bienvennue sur developpez.net,

    Citation Envoyé par bouille24;3509258[B
    l'animation s'arrête mais ne redémarre pas ...
    je n'ai pas vu de code qui relance l'animation ou l'intervalle (timer) lors d'une action de l'utilisateur,

    pour pouvoir redéfinir la fonction onEnterFrame il te faudrait placer le code dans une fonction.
    exemple:
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    this.onEnterFrame = function()
    {
      // traitements
    }
    >
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function maFonctionAnimation()
    {
      // traitements
    }
    this.onEnterFrame = maFonctionAnimation;
    avec ce fonctionnement tu peux définir une autre fonction qui relance le timer ou l'animation
    par exemple avec l'évènement onMouseMove de l'image de fond.
    Ce qui donne :
    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
     
    var t1:Number = null;
    var clipPrincipal:MovieClip = this;
     
    function maFonctionAnimation()
    {
      // traitements
    }
     
    function runMyAnimation()
    {
        if(clipPrincipal.t1 == null)
        {
            clipPrincipal.onEnterFrame = maFonctionAnimation;
        }else{
            clearInterval(clipPrincipal.t1);
        }
        clipPrincipal.t1 = setInterval(stopMyAnimation,2000);
    }
     
    function stopMyAnimation()
    {
        delete clipPrincipal.onEnterFrame;
        clearInterval(clipPrincipal.t1);
        clipPrincipal.t1 = null;
        clipPrincipal.monClip.stop();
    }
     
    mcImageFond.onMouseMove = runMyAnimation;
     
    runMyAnimation();
     
    stop();
    (c'est mieux d'utiliser un clip que _root, remplacé par clipPrincipal)


  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 8
    Par défaut C'est presque ça
    J'ai mis en place le code passé.
    Seul truc c'est que quand l'animation s'arrête au bout des 20 sec, elle ne repart pas...

    Je manque d'idées, et je ne suis pas assez douée pour voir ou ça plante.

    je met le nouveau code (c'est à dire avec les infos fournies par Beekeep) si quelqu'un est plus clairevoyant que moi
    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    // creation objet
     
     
    var t1:Number = null;
    var clipPrincipal:MovieClip = this;
     
    function maFonctionAnimation()
    {
    _root.createEmptyMovieClip("image01",1);
    _root.image01.attachMovie("photo","mc_photo",1);
     
    _root.createEmptyMovieClip("image02",2);
    _root.image02.attachMovie("photo","mc_photo",1);
    _root.image02._x=image01._x+image01._width;
     
    // variables
    var largeur_scene=998;
    var largeur_image=image01._width;
    var interaction = 0;
     
    _root.onEnterFrame=function(){
     
    	if(interaction == 0){
     
    		deplacement =_xmouse;
    		deplacement=deplacement-(largeur_scene/3);
    		deplacement = deplacement/150;
     
    		image01._x=image01._x-deplacement;
    		image02._x=image02._x-deplacement;
     
    		//partie droite
    		if (image01._x>=largeur_scene){
    		image01._x=image02._x-largeur_image;
    		}
     
    		if (image02._x>=largeur_scene){
    		image02._x=image01._x-largeur_image;
    		}
     
    		// partie gauche
     
    		if (image01._x+largeur_image<=0){
    		image01._x=image02._x+largeur_image;
    		}
    		if (image02._x+largeur_image<=0){
    		image02._x=image01._x+largeur_image;
    		}
     
    	}
     
     
    }
    }
     
    function runMyAnimation()
    {
        if(clipPrincipal.t1 == null)
        {
            clipPrincipal.onEnterFrame = maFonctionAnimation;
        }else{
            clearInterval(clipPrincipal.t1);
        }
        clipPrincipal.t1 = setInterval(stopMyAnimation,5000);
    }
     
    function stopMyAnimation()
    {
        delete clipPrincipal.onEnterFrame;
        clearInterval(clipPrincipal.t1);
        clipPrincipal.t1 = null;
        clipPrincipal.monClip.stop();
    }
     
    mc_photo.onMouseMove = runMyAnimation;
     
    runMyAnimation();
     
    stop();
    Merci par avance

  4. #4
    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
    on s'est mal compris, désolé si c'était pas clair,

    c'est juste le code qui était dans le onEnterFrame qu'il fallait placer dans la fonction maFonctionAnimation.

    >>
    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    // creation objet
     
    _root.createEmptyMovieClip("image01",1);
    _root.image01.attachMovie("photo","mc_photo",1);
     
    _root.createEmptyMovieClip("image02",2);
    _root.image02.attachMovie("photo","mc_photo",1);
    _root.image02._x=image01._x+image01._width;
     
    // variables
    var largeur_scene=998;
    var largeur_image=image01._width;
    var interaction = 0;
     
    var t1:Number = null;
    var clipPrincipal:MovieClip = this;
     
    function maFonctionAnimation()
    {
        if(interaction == 0){
     
            deplacement =_xmouse;
            deplacement=deplacement-(largeur_scene/3);
            deplacement = deplacement/150;
     
            image01._x=image01._x-deplacement;
            image02._x=image02._x-deplacement;
     
            //partie droite
            if (image01._x>=largeur_scene){
            image01._x=image02._x-largeur_image;
            }
     
            if (image02._x>=largeur_scene){
            image02._x=image01._x-largeur_image;
            }
     
            // partie gauche
     
            if (image01._x+largeur_image<=0){
            image01._x=image02._x+largeur_image;
            }
            if (image02._x+largeur_image<=0){
            image02._x=image01._x+largeur_image;
            }
        }    
    }
     
    function runMyAnimation()
    {
        if(clipPrincipal.t1 == null)
        {
            clipPrincipal.onEnterFrame = maFonctionAnimation;
        }else{
            clearInterval(clipPrincipal.t1);
        }
        clipPrincipal.t1 = setInterval(stopMyAnimation,5000);
    }
     
    function stopMyAnimation()
    {
        delete clipPrincipal.onEnterFrame;
        clearInterval(clipPrincipal.t1);
        clipPrincipal.t1 = null;
        clipPrincipal.monClip.stop();
    }
     
    mc_photo.onMouseMove = runMyAnimation;
     
    runMyAnimation();
     
    stop();
    si tu as encore des problèmes tu peux utiliser la fonction trace pour voir d'où ça vient.
    Citation Envoyé par bouille24
    Bon week-end
    Merci et bon courage pour la suite

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 8
    Par défaut
    Génial !

    j'ai juste modifié ce bout de code qui est à la fin, est ça fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    image01.onMouseMove = runMyAnimation;
    Merci encore !

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

Discussions similaires

  1. [PHP 5.2] arret du script apres un break
    Par speed034 dans le forum Langage
    Réponses: 4
    Dernier message: 08/10/2009, 06h43
  2. Arret de Tomcat après édition du rapport JasperReport
    Par john_wili dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 22/08/2008, 09h10
  3. Réponses: 3
    Dernier message: 18/06/2008, 10h38
  4. Réponses: 1
    Dernier message: 09/01/2008, 14h02
  5. Arret de mon pc apres quelques minutes du check d'anti virus
    Par christophebmx dans le forum Sécurité
    Réponses: 4
    Dernier message: 01/07/2005, 14h50

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