Désactiver tous les boutons

cs_tiburce Messages postés 42 Date d'inscription samedi 16 août 2003 Statut Membre Dernière intervention 1 février 2006 - 30 janv. 2006 à 16:44
cs_tiburce Messages postés 42 Date d'inscription samedi 16 août 2003 Statut Membre Dernière intervention 1 février 2006 - 1 févr. 2006 à 08:48
Bonjour

Voici une petite colle qui ne devrait pas poser beaucoup de problème ici, mais pas à moi.

J'ai un diaporama. 20 vignettes permettent par Rollover d'afficher chaque image en grande taille. En fait c'est un action script de ce type

on (rollOver) {
_root.diapos.gotoAndStop(13);
}
on (rollOut) {
_root.diapos.gotoAndStop(1);
}
tout fonctionne bien. Mais voilà, j'ai intégré un bouton qui peut lancer la lecture automatique du diaporama. son code indique simplement un gotoAndPlay (2); et la lecture avec interval programmé des images d'un clip démarre (c'est le même clip utilisé pour mes rollovers). J'aimerais que par la même occasion, l'action on Release de ce bouton désactive les 20 autres boutons. Sinon, tout se mélange. Si l'utilisateur fait un rollover, le défilement par Interval de mon diapo automatique est perturbé.
J'ai donc déclaré une variable _global.btnactif <gras>true qui fait que par défaut, les 20 boutons sont actifs, donc leur rollover fonctionne. J'ai déclaré sur le bouton lançant le diapo auto _global.btnactif</gras> false et quand on atteint la dernière image du diaporama, j'ai _global.btnactif = true. ça fonctionne bien, mais il a fallu que j'écrive 20 fois :
if (_global.btnactif == true) {
c'est-à-dire sur chaque bouton. Ne peut-on pas, sur mon bouton AUTO, écrire un script simple qui désactive mes 20 boutons d'un seul coup ? et ensuite écrire un script sur la derni-re image du diaporama qui les réactive ?

Merci pour votre aide

13 réponses

cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008
30 janv. 2006 à 17:09
je ne suis pas certain que tu puisses deactiver tous tes boutons ainsi. ce qui est possible, c'est d'utiliser un mc au lieu d'un bouton, que tu dupliques, et au sein duquel tu colles ton script conditionnel:
if (_global.btnactif == true) {
...
a tester...


Peace from Mars
to all human beings
0
cs_tiburce Messages postés 42 Date d'inscription samedi 16 août 2003 Statut Membre Dernière intervention 1 février 2006
30 janv. 2006 à 17:41
salut

Je ne comprends pas très bien.
Sinon, je peux créer deux MC diapo différents, un lancé par mes boutons et l'autre par le bouton auto, mais j'alourdis l'anim.
Je peux aussi créer des boutons transparent, dont la propriétés visible est false quand on clique sur mon bouton auto.
0
cs_Mafassure Messages postés 1058 Date d'inscription jeudi 24 juillet 2003 Statut Modérateur Dernière intervention 14 février 2009
30 janv. 2006 à 17:56
Pour déactiver un bt
bt.enabled = false;

PS : j'ai pas tous lu le post je dit peut etre une betise....

ActionScript Experience
0
cs_tiburce Messages postés 42 Date d'inscription samedi 16 août 2003 Statut Membre Dernière intervention 1 février 2006
30 janv. 2006 à 18:01
un bouton oui, mais quand tu en as 20 !!! et en une seule opération pour limiter les lignes de code !!!

dans ton idée bt est le nom de l'occurrence du bouton ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Mafassure Messages postés 1058 Date d'inscription jeudi 24 juillet 2003 Statut Modérateur Dernière intervention 14 février 2009
30 janv. 2006 à 18:09
oui bt c'est l'occurance exemple...

this.bt.enabled = false;

par exemple crée une fonction pour les neutraliser tous en meme tps....





ActionScript Experience
0
cs_tiburce Messages postés 42 Date d'inscription samedi 16 août 2003 Statut Membre Dernière intervention 1 février 2006
30 janv. 2006 à 18:19
Ah oui, mais avec les fonctions je suis une abeille ouvrière. Si j'en connais une je la répète et suis bien incapable d'adapter.
0
shubenka Messages postés 759 Date d'inscription mercredi 11 décembre 2002 Statut Membre Dernière intervention 12 novembre 2008
30 janv. 2006 à 21:48
tu peut faire un truc dans le style
for( i in _root){ //_root ou l'endroit ou se situe tes boutons
_root[i].enabled=false;//ou true pour reactiver
}
c'est un peu bourrin mais bon ...
<hr>http://www.carton.c.la
0
cortoh Messages postés 1255 Date d'inscription dimanche 18 décembre 2005 Statut Membre Dernière intervention 2 décembre 2008
30 janv. 2006 à 22:17
messieurs, la simplicite! tiburce, crees un movieClip, dans lequel tu inseres ton script conditionel, et tu l'utilises comme un bouton.

ps: maf, je ne t'ai pas encore vu dire une betise, mais tout arrive...=)


Peace from Mars
to all human beings
0
cs_tiburce Messages postés 42 Date d'inscription samedi 16 août 2003 Statut Membre Dernière intervention 1 février 2006
31 janv. 2006 à 08:12
Merci, oui je comprends ce que vous m'exliquez, mais je ne vois pas comment le mettre en pratique. Si vous pouviez, par exemple, me donner un exemple de code à mettre dans le MC et m'expliquer comment il va indiquer par On Release que tous les boutons sont désactivés.
En attendant, ben j'ai fait au plus simple. J'ai placé 2 occurrences du clip de mon diaporama sur la scène, l'un est actif par Rollover sur chaque bouton, et l'autre par On Release sur mon bouton nommé Auto. Mais le gros problème est qu'il a fallu déclarer une condition sur chaque bouton (20) qui active la fonction Rollover (This.On Rollover() = Function... je trouve ça très lourd à gérer.
Donc l'idée du MC en tant que bouton est OK, mais comment y insérer le script conditionnel, et surtout quel script !!!(excusez-moi d'être aussi nul, mais sincèrement, la programmation n'est pas aussi logique qu'on voudrait bien le croire. Par exemple, ce serait bien que tout objet de la scène porte un N° d'objet, et qu'on puisse par exemple créer une variable intégrant les 20 boutons, du genre btn . Ensuite, il suffit d'écrire une ligne du genre <gras>btn.enabled true</gras>. et dans le bouton Auto écrire
this.onRelease() = function;
btn.enabled = false

et dans la dernière image du diaporama
btn.enabled = true. pour réactiver les boutons automatiquement

Voilà, mon idée est de réunir sous une seule référence les 20 boutons... mais comment ?
Merci à vous les maîtres ActionScript
0
shubenka Messages postés 759 Date d'inscription mercredi 11 décembre 2002 Statut Membre Dernière intervention 12 novembre 2008
31 janv. 2006 à 08:47
si tes boutons on des noms qui se suive tu peux faire

for(i=0;i<nbrBouton;i++){

nomBouton = "bt" + i;

_root[nomBouton].enable=false; // ou true

}
//et histoire de pas desactivé le bouton courant tu fait

this.enable=true;
<hr>http://www.carton.c.la
0
cs_tiburce Messages postés 42 Date d'inscription samedi 16 août 2003 Statut Membre Dernière intervention 1 février 2006
31 janv. 2006 à 08:51
quand tu dis "si tes boutons on des noms..." c'est une affirmation, ou bien je dois assigner un nom à chaque occurrence du bouton ?
0
shubenka Messages postés 759 Date d'inscription mercredi 11 décembre 2002 Statut Membre Dernière intervention 12 novembre 2008
31 janv. 2006 à 18:28
tu doit le faire dans les propriéte du clip quand tu clique dessus tu peu spécifier un nom


<HR>
http://www.carton.c.la
0
cs_tiburce Messages postés 42 Date d'inscription samedi 16 août 2003 Statut Membre Dernière intervention 1 février 2006
1 févr. 2006 à 08:48
Oui en fait on donne un nom à l'occurrence pour pouvoir l'utiliser dans un script !
0
Rejoignez-nous