Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
929 connectés 

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  [FLASH 8] Garder un bouton cliqué

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[FLASH 8] Garder un bouton cliqué

n°1396573
dick turpi​n
Posté le 28-06-2006 à 14:25:19  profilanswer
 

Bonjour,
 
Sur un projet, j'ai un bouton qui me permet d'afficher des onglets avec un texte dynamique dessus.
Je souhaiterais quand on clique sur un de ces onglets que celui-ci reste en position cliqué (cf mon code).  
J'ai donc créer 2 clips. Le premier contient mon bouton normal et le second contient mon bouton à l'état enfoncé. (bouton = onglet style excel)
 
Le problème, c'est que ces onglets sont crées dynamiquement (leur nombre et leur libellé (champ texte dynamique) peut varier.
Comment faire pour savoir au moment du clic sur un de ces onglet, quel est le numéro d'index de l'onglet cliqué afin de détruire ce clip et le remplace par un autre (clip bouton cliqué).
 
Je ne sais pas si je suis très clair.
Pour simplifier, voici mon source.
 
********************************
J'ai 2 boutons sur ma page principale (qui appellent chacun des onglets différents) :
 
bouton 1 :

Code :
  1. on(press){
  2. charge_chemises(tableau_chemises1);}


 
bouton 2 :

Code :
  1. on(press){
  2. charge_chemises(tableau_chemises2);}


 
Voici le script principal :
 
 

Code :
  1. var tableau_chemises1:Array = new Array("DOSSIER","chemise1", "chemise2", "chemise3" );
  2. var tableau_chemises2:Array = new Array("DOSSIER","TITI", "TUTU" );
  3. initialise_police = function(){
  4.   monFormat = new TextFormat ();
  5.   monFormat.size = 10;
  6.   monFormat.font = "Verdana";
  7.   monFormat.align = "center";
  8.   monFormat.underline = false;
  9. }
  10. function charge_chemises(chemises){
  11.   btn1._visible = false;
  12.   btn2._visible = false;
  13.   x=100;
  14.   y=20;
  15.   initialise_police();
  16.   for (i=0; i<chemises.length ; i++){
  17. if (i == 0)
  18.   {_root.attachMovie("clip_chemiseOK","monclip"+i,i);} // Le premier onglet est automatiquement activé.
  19. else
  20.   {_root.attachMovie("clip_chemiseKO","monclip"+i,i);} // on active par défaut la première chemise.
  21.  
  22.     _root["monclip"+i]._x = x;
  23.     _root["monclip"+i]._y = y;
  24.     x =x + 100 ;
  25. _root["monclip"+i].createTextField ("label_chemise",i+10,-50,-10,70,20); // Nom_occurence, Profondeur, y, x, largeur, hauteur
  26.     _root["monclip"+i].label_chemise.tabEnabled = false;
  27.     _root["monclip"+i].label_chemise.selectable = false;
  28. _root["monclip"+i].label_chemise.text = chemises[i];
  29. if (i==0)
  30.  { monFormat.bold = true;
  31. //       monFormat.underline = true;
  32.        monFormat.color = "0xCC3300";}
  33. else
  34.  { monFormat.bold = false
  35.        monFormat.color = "0x000000";}
  36. _root["monclip"+i].label_chemise.setTextFormat(monFormat);
  37.   }
  38.   _global.nbchemise = chemises.length;
  39. }


J'ai donc 2 clips : clip_chemiseOK (pour le bouton enfoncé) et clip_chemiseKO
 
Voici le code de mon clip_chemiseKO :
 

Code :
  1. btn_KO.onPress = function() {
  2.    for (i=0; i<_global.nbchemise ; i++){
  3.      monFormat = new TextFormat ();
  4.  monFormat.color = "0x000000";
  5.  monFormat.bold = false;
  6.  _root["monclip"+i].label_chemise.setTextFormat(monFormat);
  7. //removeMovieClip(_root["monclip"+i]);
  8.  }
  9.   monFormat.bold = true;
  10.   monFormat.color = "0xCC3300";
  11.   label_chemise.setTextFormat(monFormat);
  12. }

(dans un premier temps, je modifie juste le libellé mais je souhaite donc changer le bouton).
 
Voilà, pouvez-vous m'aider svp ?
 
Si je n'ai pas été encore assez clair, voici mes sources :
 
http://iceman2001.free.fr/chemises4.fla (flash 8)
 
ou  
 
http://iceman2001.free.fr/chemises4_mx2004.fla (flash MX)
 
Merci d'avance.


Message édité par dick turpin le 28-06-2006 à 14:26:25
mood
Publicité
Posté le 28-06-2006 à 14:25:19  profilanswer
 

n°1396703
dick turpi​n
Posté le 28-06-2006 à 16:53:09  profilanswer
 

Pourquoi le programme ne passe pas sur mon trace('toto') dans cet evenement ?
 

Code :
  1. this.btn_KO.onPress = function() {
  2. for (j=0; j< _global.nom_chemise.length; j++){
  3.  if (_global.nom_chemise[j] == label_chemise.text){
  4.   posX = (100 * j);
  5.   trace(posX);
  6.   _root.attachMovie("clip_chemiseOK","monclip"+j,j);
  7.   trace('toto');
  8.   _root["monclip"+j]._x = posX;
  9.  }
  10. }
  11. }


 
Merci

n°1397023
dick turpi​n
Posté le 29-06-2006 à 10:18:24  profilanswer
 

Problème résolu grace à une personne de développez.com !!
 
J'ai joué sur la proprété _visible de mes clips !!!  :bounce:  :bounce:  :bounce:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  [FLASH 8] Garder un bouton cliqué

 

Sujets relatifs
FTP en PHP : comment garder la connexion créée ???[FLASH]rollover en fondu
logiciel téléchargement animations flash[C#/Flash/ RESOLU] Soucis de cache IE avec donnees externes a charger
compter nb de fois qu'on clique sur un lienbordure de mon anim flash ds IE
creer un bouton[flash] pblm attachMovie
Import de video dans une page HTML (flash/mov/avi)Commander flash
Plus de sujets relatifs à : [FLASH 8] Garder un bouton cliqué


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR