[FLASH8PRO] BOUTONS SPÉCIAUX

Résolu
jalka70 Messages postés 9 Date d'inscription jeudi 22 mars 2007 Statut Membre Dernière intervention 31 mai 2011 - 16 avril 2007 à 22:13
jalka70 Messages postés 9 Date d'inscription jeudi 22 mars 2007 Statut Membre Dernière intervention 31 mai 2011 - 17 avril 2007 à 14:03
Bonsoir à tous,

Je soumets le problème suivant à votre sagacité :
Je dispose, sur une scène, d'une dizaine de boutons. Chaque bouton est sensé appeller dans ma scène un movie clip différent.
Comment faire pour qu'un bouton, une fois qu'il a été cliqué, reste en état abaissé, puis, une fois qu'un autre bouton est cliqué, que le précédent reprenne son état d'origine (c.à.d. qu'il soit à nouveau cliquable).
Pour info, j'ai créé mes boutons de cette façon :

chaque bouton est un movie clip, avec 3 états différents (donc 3 images clé, correspondants aux différents états - mes actions sont bien entendu placées sur un calque au dessus des images clés).

État 1 : bouton non cliqué
CODE :
stop();
onRelease = function(){
gotoAndStop(3);
};
onRollOver = function(){
this.gotoAndStop(2);
};
onRollOut = function(){
this.gotoAndStop(1);
};

État 2 : bouton survolé (rollover)
CODE  :
stop();

État 3 : bouton abaissé (et qui le reste), souris sortie (rollout)
CODE :
stop();
enabled = false;
_parent.mn2.enabled = true;
_parent.mn2.gotoAndStop(1);

Voilà. Si le rollover se fait bien, en revanche, impossible de faire revenir le bouton à son état original. Quelqu'un aurait-il la solution (compréhensible par un newbie, étant donné que je ne me suis plongé dans flash qu'avant-hier) ? Par avance merci de vos lumières…

5 réponses

cs_embalmer Messages postés 120 Date d'inscription mercredi 14 décembre 2005 Statut Membre Dernière intervention 10 décembre 2007
17 avril 2007 à 13:17
Hello,

Voilà comment je procèderais (je ne suis pas partis de ton code étant donné qu'il est difficile de s'y retrouver sans le fla), si j'ai bien compris tu veux faire des radio boutons personnalisés :

chaque bouton est une occurence d'un même clip bouton contenant 3 images clés (avec un stop(); à chaque image bien sûr)
La 1ère image correspond au bouton normal
La 2ème : au bouton survolé.
La 3ème : au bouton pressé.

tu donne à chaque bouton les noms d'occurences : bouton1, bouton2, bouton3...

A l'image 1 de la racine de ton anim tu place :

var oldPushedBtn:Number = 0;;
function pressBtn(numBtn:Number){
        if(_level0.oldPushedBtn != 0) {
                _level0["bouton"+oldPushedBtn].gotoAndStop(1);
            }
        _level0["bouton"+numBtn].gotoAndStop(3);
        _level0.oldPushedBtn = numBtn;
}

ensuite pour chaque bouton tu leur met le code suivant :

on (rollOver) {
    if (this._currentframe != 3) {
        this.gotoAndStop(2);
    }
}
on (rollOut) {
    if (this._currentframe != 3) {
        this.gotoAndStop(1);
    }
}
on (press) {
    _level0.pressBtn(1);
}

Voilà par contre tu change la valeur envoyée à la fonction pressBtn  pour chaque bouton, comme ceci :  exemple : _level0.pressBtn(10) pour le bouton 10 .

PS : un ptit conseil au passage pour bien débuter en actionScript (ou tous autres langages) apprend à bien utiliser ton débogeur (CTRL+SHIFT+ENTREE).

++
3
jalka70 Messages postés 9 Date d'inscription jeudi 22 mars 2007 Statut Membre Dernière intervention 31 mai 2011
17 avril 2007 à 13:49
Bonjour embalmer et merci beaucoup pour ton aide.

Je te prie d'accepter mes excuses pour ne pas avoir mis le .fla à dispo.  Je ne sais pas si ce code et cette façon de faire peuvent vraiment m'aider, mais je vais tenter le coup. Je te joins le .fla afin que tout le monde puisse voir de quoi je parle. En fait, le but final est le suivant : chaque bouton, placé sur ma scène, doit déclencher une animation différente (je pense créer un movie clip par bouton et associer un loadmovie à chaque bouton).
Dans la scène principale, le clic sur un bouton devrait donc en principe déclencher le chargement d'une animation. Chaque animation doit pouvoir être contrôlée (vitesse de défilement, flèches de navigation avant-arrière, son) à partir de la scène principale. Je me demande si je m'y suis pris de la bonne façon...

doc flash :
0
jalka70 Messages postés 9 Date d'inscription jeudi 22 mars 2007 Statut Membre Dernière intervention 31 mai 2011
17 avril 2007 à 13:56
Woops, toutes mes excuses. J'ai raté l'upload du fichier.

le revoici (je crois)

[file:///Users/jerome/Desktop/LGA_test.fla ]
0
jalka70 Messages postés 9 Date d'inscription jeudi 22 mars 2007 Statut Membre Dernière intervention 31 mai 2011
17 avril 2007 à 14:01
Eh ben en fait non. Raaaa... Peut-être le fait que j'utilise firefox sous mac osx ? Je ne vois aucun des fichiers uploadés, alors que je l'ai bel et bien fait , puisque je n'ai plus d'espace dispo. C'est énervaaaaant...
Bon tant pis. Merci encore embalmer.
0

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

Posez votre question
jalka70 Messages postés 9 Date d'inscription jeudi 22 mars 2007 Statut Membre Dernière intervention 31 mai 2011
17 avril 2007 à 14:03
[file:///Users/jerome/Desktop/LGA_test.fla file:///Users/jerome/Desktop/LGA_test.fla]
0
Rejoignez-nous