Zone cliquable une seule fois

r.mutt -  
 amigo -
bonjour a tous je suis débutant et aimerais faire une animation qui se lance lorsqu'on clique sur une zone jusque là tout va bien mais à chaque fois qu'on clique sur la zone, l'animation recommence et j'aimerai que l'animation ne soit possible qu'une seule fois merci de votre aide
Configuration: Windows XP
Firefox 2.0.0.12

10 réponses

  1. amigo
     
    Bonsoir,

    En quel langage tu veux faire ça?
    Enfin, peu importe. Tu déclares une variable clic1fois de type boolean initialisée à false
    Quant tu clic pour lancer ton animation, tu teste si teste si clic1fois=false : si oui tu met clic1fois à true et tu continue
    au prochain clic si clic1fois = true tu sort de la procedure sans rien faire.

    OK? Salut.
    0
    1. r.mutt
       
      merci pour ton aide
      j'ai pas vraiment tout compris j'utilise du code actionscript en fai voila mon code de la zone cliquable

      on(release){_root.copain._visible=true;
      _root.mc_rid.play();}

      mc_rid étant l'animation
      que dois-je rajouter au codes?
      merci beaucoup pour ton aide je suis vraiment en galère
      0
  2. amigo
     
    Je ne connais pas du tout actionscript .

    Est ce qu'on peut utiliser des variables numeriques ou texte, et est ce qu'on peut faire des test du genre Si ... ALORS ... SINON...

    Je cherche avec google si je trouve de la doc la dessus.

    A+.
    0
  3. amigo
     
    Bon j'ai trouvé sur https://openclassrooms.com/fr/courses#ss_part_4

    Il faut que tu déclare dans ton programme qui affiche la fenetre ou je ne sais quoi cette variable

    var boolean clic1fois=false;

    ensuite tu remplace la procedure on(release) par :

    on(release){
    if clic1fois=false {
    clic1fois=true;
    _root.copain._visible=true;
    _root.mc_rid.play();}
    }

    ça devrait marcer tiens moi au courant. A+.
    0
    1. r.mutt
       
      merci pour cette recherche mais ca marche pas voilas ce qu'il me dit

      **Erreur** Séquence = Séquence 1, calque = rideau, image = 1 :Ligne 2 : '(' attendu
      if clic1fois=false {

      **Erreur** Symbole = rideau.swf, calque = Calque 1, image = 9 :Ligne 1 : Erreur de syntaxe.
      var boolean clic1fois=false;

      Total des erreurs ActionScript : 2 Erreurs signalées : 2

      mais sinon une autre solution serait qu'une fois la zone cliqué, elle disparaisse mais je ne sait pas non plus le faire.
      0
  4. amigo
     
    Peux tu me monter le code complet , il faut juste bien placer la declaration de la variable
    A+.
    0
    1. r.mutt
       
      sinon envoie moi ton adresse mail si ca ne te derange pas et je tenvoie mon animation comme ca tu pourra regarder
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. amigo
     
    Avant essaye ça, je crois qu'il y avait des erreurs de syntaxe sur le post précedent

    var clic1fois:Boolean = false;

    on(release){
    if (clic1fois==false) {
    clic1fois=true;
    _root.copain._visible=true;
    _root.mc_rid.play();}
    }
    0
  7. r.mutt
     
    non toujours pas il ne dit pas qu'il ya une erreur mais l'animation ne fonctionne pas
    0
  8. amigo
     
    Bon voila mon e-mail
    enzo.momo@wanadoo.fr

    Mais je n'ai pas l'environnement Flash alors e sais pas si je pourrais voir le code de ton animation

    Sinon tu peux le coller ici si c'est pas trop long.
    0
  9. amigo
     
    Dernier message pour ce soir,

    la variable doit etre declarée juste apres le mot

    Actionscript:

    var clic1fois:Boolean = false;

    ensuite la foction

    on(release)
    {
      if (clic1fois==false)
       {
          clic1fois=true;
          _root.copain._visible=true;
          _root.mc_rid.play();
       }
    }
    


    bonne chance.Dernier message pour ce soir,

    l
    0
  10. r.mutt
     
    merci amigo pour ton aide apparement ca ne marchai toujours pas donc g bricoler un truc un peu ridicule en fait une fois cliqué ma zone cliquable sort du de l'ecran par une interpolation voila c bricoler mais ca marche
    sinon un autre internaute ma donné la solution si ca interesse quelqu'un d'autre

    Alors ton animation tu la met dans un clip tu insère ton clip
    dans l'animation principaletu le nommes par exemple anim_p
    sur ta timeline principale tu crées 2 images clés sur la première en code tu met
    Code :---------anim_p.stop();
    ---------sur la seconde tu met en code:
    Code :
    ---------stop();
    ---------ensuite tu crées un bouton, dans lequel tu crées un rectangle de la taille de la zone cliquable,et tu lui met en alpha 0% pour qu'il soit invisibletu insère ce bouton de préférence sur un autre calque de ta timeline principaletu met en code sur ce bouton Code :
    ---------on (release) {if (_root.cliq<1){anim_p.play();}_root.cliq++}
    ---------Le _root.cliq correspond à une variable qu'il faut créer qui comptabilisera le nombre de cliques.Donc sur ton premier calque avec deux image clé (de la timeline principale), tu rajoute en code sur la première Code
    :---------_root.cliq=0;
    ---------tu insère ensuite un texte dynamique sur le second calque composé de deux images donc une clé (de ta timeline principale)et tu le nommes dans les deux champs cliq Voilà ton anim est fin prête, lorsque que tu cliquera sur la zone la lecture de l'anim se lancera, la variable cliq sera égale alors à 1, ensuite en re-cliquant sur la zone l'animation ne se lancera plus car clip ne sera plus strictement inférieur à 1.
    0
  11. amigo
     
    Bonjour,

    Tant mieux si ça marche enfin meme si la solution n'est pas toujours élégante, l'essentiel est qu'on puisse progresser dans son projet, quitte à revenir dessus plus tard, lorsque les connaissances du langage seront meilleures.

    Salut.
    0