begin process at 2012 05 26 18:20:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

Comment créer un bouton qui permet de stopper et reprendre la lecture d'une animation


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment créer un bouton qui permet de stopper et reprendre la lecture d'une animation

jeudi 16 décembre 2010 à 00:16:40 | Comment créer un bouton qui permet de stopper et reprendre la lecture d'une animation

hurricane974

Bonjour,

Comment créer un bouton qui permet de stopper et reprendre la lecture d'une animation à l'endroit où on l'a stoppé (la fonction play/pause sur le même bouton quoi..)?
Je suis sous Flash CS4.

Merci!
jeudi 16 décembre 2010 à 11:32:12 | Re : Comment créer un bouton qui permet de stopper et reprendre la lecture d'une animation

BBFUNK01

Hello,

tu codes en as2 ou as3 ?

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
jeudi 16 décembre 2010 à 12:40:09 | Re : Comment créer un bouton qui permet de stopper et reprendre la lecture d'une animation
jeudi 16 décembre 2010 à 14:38:45 | Re : Comment créer un bouton qui permet de stopper et reprendre la lecture d'une animation

BBFUNK01

Re,

alors déjà il te faudra dans tous les cas créer 2 boutons : 1 bouton play et 1 bouton pause. Ensuite tu vas superposer ces boutons (en mettant par exemple le bouton play en 1er plan).
Après il suffit de faire apparaître/disparaître chacun des 2 boutons en fonction de la lecture/pause de l'animation :
Code ActionScript :
btn_pause._visible = false;

btn_play.onRelease = function(){
this._visible = false;
btn_pause._visible = true;
}

btn_pause.onRelease = function(){
this._visible = false;
btn_play._visible = true;
}


Concernant les fonctions pour gérer la lecture de ton/tes animation(s), tout dépend comment celle(s)-ci sont construites. Si ce sont des animations faites sur la timeline, tu peux utiliser _currentframe pour pister l'image-clé en cours de lecture et _totalframes pour le nombre total d'images-clé de ton animation.
Si les animations sont gérées par le code... Ce sera plus dur .
Autre chose : si tes animations à lire sont des swf externes tu devras utiliser LocalConnection() pour faire passer les infos de "pilotage" de l'animation.

A plus ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
jeudi 16 décembre 2010 à 16:25:59 | Re : Comment créer un bouton qui permet de stopper et reprendre la lecture d'une animation

hurricane974

aahhh! Merci pour cette réponse amplement satisfaisante!
Cependant, ne sachant pas utiliser _currentframe ni _totalframe (je travaille sur la timeline), j'ai utilisé un GotoStop pour mon bouton btn_pause et un GotoPlay pour mon bouton btn_play.
En me servant du code actionscript que tu m'as fourni (je l'ai intégré dans un calque actions), cela fonctionne, mais pas comme je le voudrais.
C'est-à-dire que jvoudrais pouvoir stopper l'animation en cours et la reprendre là où elle s'est stoppée.
Pourrais-tu une fois de plus m'éclairer? m'indiquer comment procéder avec ces fameux currentframe et totalframe?


jeudi 16 décembre 2010 à 17:07:23 | Re : Comment créer un bouton qui permet de stopper et reprendre la lecture d'une animation

BBFUNK01

Re,

alors voici en gros comment procéder :
si tes animations sont des clips contenus dans ton swf principal voilà ce que ça donnerait avec pour exemple un clip qui s'appellerait "MonClip" :

Code ActionScript :
btn_pause._visible = false;

//ici tu définis une variable nombre qui te permettra de pister l'image clé de tes clips :
var MaFrame:Number;

//ici tu crées une fonction pour la lecture de tes animations
//qui pistera l'image clé lue à l'instant T :
function LireAnim(){
MaFrame = MonClip._currentframe;
if(MaFrame == MonClip._totalframes){
clearInterval(Tempo);
MonClip.gotoAndStop(MonClip._totalframes);//Pour arrêter l'anim sur la dernière image
MaFrame = 1;//Pour réinitialiser l'image à lire au début
}
}

btn_play.onRelease = function(){
this._visible = false;
btn_pause._visible = true;
MonClip.gotoAndPlay(MaFrame);
Tempo = setInterval(LireAnim, 1000/24);//Si ton fichier a un frame rate de 24ips
}

btn_pause.onRelease = function(){
this._visible = false;
btn_play._visible = true;
clearInterval(Tempo);
MaFrame = MonClip._currentframe;
}


Après si tu as plusieurs animations à lire sur le même "player", tu peux stocker les noms des clips dans un Array et les appeler suivant leur index :
Code ActionScript :
var Tab:Array = new Array("clip1", "clip2", "clip3", "clip4");

var Pos:Number = 0;

btn_play.onRelease = function(){
this._visible = false;
btn_pause._visible = true;
Tab[Pos].gotoAndPlay(MaFrame);
Tempo = setInterval(LireAnim, 1000/24);


Puis pour switcher d'une animation à une autre il te suffit de créer 1 bouton "suivant" et 1 bouton "précédent" grâce auxquels tu gères la navigation dans l'Array :
Code ActionScript :
btn_suivant.onRelease = function(){
Pos += 1;
if(Pos == Tab.length){
Pos = 0;
}
}

btn_precedent.onRelease = function(){
Pos -= 1;
if(Pos == -1){
Pos == Tab.length - 1;
}
}


A plus ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
jeudi 16 décembre 2010 à 18:13:14 | Re : Comment créer un bouton qui permet de stopper et reprendre la lecture d'une animation

hurricane974

oulllaaa! ce bouton play/pause parait bien plus compliqué que je ne le pensais! Merci pour tes solutions en tout cas!
vendredi 17 décembre 2010 à 09:36:33 | Re : Comment créer un bouton qui permet de stopper et reprendre la lecture d'une animation

BBFUNK01

Hello,

ce n'est pas si compliqué que ça en fait, fais des essais avec le bout de code que je t'ai filé et tente au besoin de modifier les fonctions pour améliorer l'animation à ta convenance.

A plus ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;


Cette discussion est classée dans : bouton, créer, permet, reprendre, stopper


Répondre à ce message

Sujets en rapport avec ce message

Problème de bouton (certainement simple pour les experts que vous etes) [ par www20100 ] Je vais essayer d'etre le plus clair possibleJe souhaite faire un menu avec différent bouton mais qui ont tj le meme caneva (y a juste le texte qui ch stopper un onEnterFrame [ par bladebo ] Bonjour a tous,J'ai un bouton et des images.Le bouton lance un onEnterFrame qui fait deplacer les images avec un onPress sa pas de problemeensuite j'a Bouton ds un clip créer avec attachmovie [ par blabla2004 ] Bonjour,J'ai créer un clip avec une attachmovie, dans se clip se trouve un bouton.Comment dois-je faire pour définir une fonction pour celui-ci.Je m'e duplicate movie clip [ par TomQuick ] Voilà, je voudrais créer un petit logiciel de musique en flash.Comme je ne suis pas doué pour utiliser la fonction duplicate movie clip, j'ai besoin d Création dynamique de bouton [ par MrOsmose ] est ce que quelqu'un pourrait me dire comment créer un bouton du tout au tout en flash, a partir de données exterieures?je m'explique : j'ai une serie bouton utiliser plusieur fois [ par knone ] bonjour je suis en train de créer un questionnaire ou on a le choix entre 5 boutons (noter de 1 a 5 )j ai créer pour cela un symbole de type graphique Stopper un son [ par djdoms ] Bonjour à tous , je souhaiterai arreter tous les sons de ma scene . J'ai un morceau qui defile dans un calque . Donc en cherchons un peu j'ai reussi flash mx2004; comment créer lien url sur bouton [ par coconut2 ] Bonjour, j'ai créé un bouton animé (quand la souris passe dessus, il bouge) mais je n'arrive pas à créer le lien url vers la page voulue. j'ai essayé: arréter et reprendre un son [ par flashkod_user ] Bonjour, j'ai une musique d'ambiance de mon site en flash qui s'arrête lorsque l'on clique sur un bouton grace à la fonction stop all sound, et ce bou Problème de bouton avec Flash 8 [ par yonico ] Bonjour,   J'ai un souci pour créer un bouton (je débute). J'ai réussi à le créer mais quand je vuex l'utilisaer rien ne se passe. Je m'explique : si


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,212 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales