Ajouter un délai à une fonction

Fermé
Alfred5555 - Modifié le 17 janv. 2020 à 14:31
 Alfred5555 - 17 janv. 2020 à 16:54
Bonjour,

Je suis actuellement en train de découvrir le logiciel Adobe Animate et je souhaite intégrer du HTML dans mon animation. Les fragments de code proposés par le logiciel sont limités et j'aurais donc besoin de l'aide de quelqu'un pour m'aider. Mon animation se déroule ainsi : une fusée fait des aller retour sur l'écran en sortant de l'écran de temps en temps, cette fusée est définie comme un bouton sur Animate. Je voudrais que lorsque l'on clique sur la fusée, cela lance la suite de l'animation et arrête de faire tourner la fusée en rond (chose que j'ai réussi à faire), mais le problème est que l'action prend effet immédiatement, cela a donc pour résultat de faire un vilain "cut". J'aimerais ajouter un délais de X secondes/frames à cette action pour que la fusée ait le temps de sortir du cadre de l'écran avant de lancer la suite de l'animation.

Voici ce que j'ai essayé actuellement :

var timer = setTimeout("fl_ClickToGoToAndPlayFromFrame_4()",1000)

this.movieClip_3.addEventListener("click", fl_ClickToGoToAndPlayFromFrame_4.bind(this));

function fl_ClickToGoToAndPlayFromFrame_4()
{
 this.gotoAndPlay(155);
}


EDIT : Ajout des BALISES DE CODE

Tout fonctionne à part la première ligne. Je sais que certains vont surement se mordre les doigts devant ce que j'ai essayé de faire mais je rappelle que je n'y connais absolument rien, je compte me former bientôt au HTML mais j'aurais surement abandonné cette petite animation d'ici là et je souhaitais la peaufiner un peu et la finir proprement. Je précise aussi que je ne souhaite pas faire compliqué, le délai sera fixe, il ne variera pas en fonction de l’emplacement de la fusée.

J'espère que mon explication est assez compréhensible, ce n'est pas évident d'expliquer ce que je veux exactement sans vidéo.

Merci d'avance pour vos réponses !
A voir également:

1 réponse

jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
17 janv. 2020 à 14:33
Bonjour,

setTimeout(fl_ClickToGoToAndPlayFromFrame_4,1000);


A savoir que ça déclenchera ta fonctionne au bout de 1 seconde .... mais pas au click...
Si tu veux que ça se fasse lors du clic
ça serait plutot comme ça :
this.movieClip_3.addEventListener("click", fl_ClickToGoToAndPlayFromFrame_4.bind(this));

function fl_ClickToGoToAndPlayFromFrame_4()
{
  setTimeout(function(){
   this.gotoAndPlay(155)
  },1000);
}


1
Merci beaucoup pour ta réponse ! :)
0