bouton qui reste enfoncé

bouton qui reste enfoncé - Web design - Graphisme

Marsh Posté le 07-03-2007 à 09:28:47    

bonjour , je voudrais faire un bouton qui reste enfoncé au clic mais impossible de trouver  
j'ai créer un symbole clip avec 3 images clés correspondant au 3 etats  et un calque script(pour le clip)
avec 3 images cles vides qui contiennent chacune un script action  
1  stop();
 
onRollOver = function(){
gotoAndStop(2);
};
onRollOut = function(){
this.gotoAndStop(1);
};
onRelease = function(){
gotoAndStop(3);
//les instructions diverses
};
 
2 et 3 stop();
 
le bouton s'enfone mais qu'on sort du il revient en 1 come pour le rollOut.
Merci

Reply

Marsh Posté le 07-03-2007 à 09:28:47   

Reply

Marsh Posté le 07-03-2007 à 10:06:30    

Citation :

le bouton s'enfone mais qu'on sort du il revient en 1 come pour le rollOut.


 
en français ça donne quoi ?  :sweat:  
J'ai pas bien saisi ton probléme ... tu reproches au RollOut de faire son boulot ?


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 07-03-2007 à 10:24:06    

désolé pour la dernière phrase.
actuellement , le bouton joue son role de roll over mais ne reste pas cliqué  
enfoncé.
En fait j'ai plusieurs boutons et j'aimerais quand un bouton est cliqué , il reste dans la position 3 .Et quand je clique sur un autre , ce soit l'autre qui s'enfonce et le premier bouton passe dans l'état 1.
Voilà merci

Reply

Marsh Posté le 07-03-2007 à 10:26:47    

faut que tu stockes le bouton actif dans une variable, c'est tout con.

Reply

Marsh Posté le 07-03-2007 à 10:32:59    

j'ai déjà programmé mais en flash jamais alors merci de préciser à un débutant.
 
Là, j'ai dans l'état 1 stop();
onRelease = function(){
gotoAndStop(3);
//les instructions diverses
};
onRollOver = function(){
this.gotoAndStop(2);
};
onRollOut = function(){
this.gotoAndStop(1);
};
 
le 2 stop();
 
et le 3
 
stop();
enabled = false;
_parent.mn2.enabled = true;
_parent.mn2.gotoAndStop(1);
 
ça marche pour 2 boutons , c'est à dire que ça reste enfoncé maintenant et ça revient à l'état un pour le bouton précedent mais est ce le bonne méthode.
Je me doute bien que ma méthode va etre tres lourde.
 
 
merci


Message édité par tomm le 07-03-2007 à 11:01:04
Reply

Marsh Posté le 07-03-2007 à 12:44:14    

gros problème.
ça marche bien sur le swf généré avec cette methode lourde pour chaque clip .
Mais intégré à une page php sur un serveur(le site comprend des parties en flash  et n'est pas tout en flash).
j'ai eu beau tout refaire tout en mettant des include(php) pour que la  le swf dans menu.php ne soit pas regénéré à chaque clic sur le menu , rien n'y fait .Le bouton cliqué enfoncé ne marche plus quand on appelle depuis celui-ci une autre page.
comment faire ?  

Reply

Marsh Posté le 07-03-2007 à 13:35:26    

moi je ferais :
sur ton calque action

Code :
  1. var nb:Number = 3; // nombre de boutons
  2. for (j=1; j<=nb; j++) {
  3. var btn:MovieClip = this["monBouton"+j]; // chemin du bouton
  4. btn.id = j; // un identifiant pour le retrouver ensuite
  5. btn.step = 1; // Son état 1 = down, 2 = up
  6. btn.onRollOver = function() {
  7.  this.gotoAndStop(2);
  8. };
  9. btn.onRollOut = function() {
  10.  if (this.step != 2) { // Si le bouton vient d'être cliqué, on ne rembobine pas
  11.   this.gotoAndStop(1);
  12.  }
  13. };
  14. btn.onRelease = function() {
  15.  pom(this.id);
  16. };
  17. }
  18. function pom(id) { // Fonction qui laisse le bouton en état "cliqué" et ferme tous les autres  
  19. for (k=1; k<=nb; k++) {
  20.  var btn:MovieClip = this["monBouton"+k];// chemin du bouton
  21.  var btnCible:MovieClip = this["monBouton"+id];// chemin du bouton Cible
  22.  btn.gotoAndStop(1);
  23.  btnCible.gotoAndStop(2);
  24.  btnCible.step = 2;
  25. }
  26. }


 
En plus si tu veux rajouter des boutons, suffit d'augmenter la var nb.
Par contre tes boutons doivent tous s'appelés monBouton+N


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed