Forums Développement Multimédia

Aller au contenu

Mettre un bouton actif

CODE Actionscript

16 réponses à ce sujet

#1 oxopoubelle

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 105 messages

Posté 19 May 2008 - 09:06 AM

Bonjour,

Je fais un site en flash. J'ai un menu avec qq liens qui sont fait avec des "boutons". Ils ont chacun un etat survolé, cliqué et actif.

Le problème, c'est que quand je click sur l'un des liens, j'aimerais qu'il se mettre en "actif" (changer la couleur par exemple). Mais je ne vois pas comment cibler l'état d'un des boutons (par exemple lui dire "quand je click sur ce lien, laisse le en rouge par exemple).

Pour l'instant je me galere a appeler un swf par dessus et le faire disparaitre quand je click sur d'autre lien, mais c'est bien galere.

merci pour l'aide !

++

#2 Tekkila

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 7355 messages

Posté 19 May 2008 - 09:20 AM

Bonjour,

Il vaut mieux gérer tes boutons avec des MovieClips.

De cette façon tu définie une image clé pour chaque état de ton bouton et dans le code tu peux changer l'apprence avec un simple gotoAndStop.

A+

Joni

#3 florent

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 222 messages

Posté 19 May 2008 - 09:37 AM

Hello,

tu devrais utiliser les movieClip comme bouton et passer par la programmation pour gérer les différents états onRollOver / onPress au lieu d'utiliser l'interface flash.
Le principe est de stocker le nom de tes clips dans un tableau et de le parcourir, desactiver le bouton pressé, activer les autre...

un exemple de principe...

Action Script


//clip -> racine ou clip conteneur
//item0, item1, item3 -> nom du clip bouton
//menuTab -> tableau pour stocker les boutons

//5 boutons

for(var i=0;i<6;i++)
{
clip["item"+i].nbr = i;
clip["item"+i].onPress = function()
{
//actions
activMenu(this.nbr);
}

//stockage dans le tableau
menuTab.push(clip["item"+i]);
}


function activMenu(nbr : Number)
{
menuTab[nbr].enabled=false;
//autre code, changement de couleur, deplacement....

for(var i=0;i<menuTab.length;i++)
{
if(i != nbr)
{
menuTab[i].enabled=true;
//autre code, rétablissement de la couleur, deplacement....
}
}
}

bon courage

A+


#4 oxopoubelle

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 105 messages

Posté 19 May 2008 - 14:13 PM

merci, je devrais me débrouiller avec ca.

#5 Tekkila

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 7355 messages

Posté 19 May 2008 - 14:18 PM

Si tu as besoin d'un exemple n'hésite pas à demander. icon_wink.gif

#6 studio

    Ceinture Jaune

  • Members
  • PipPip
  • 27 messages

Posté 19 May 2008 - 15:35 PM

Bonjour,
Je cherche à faire le même type de bouton et j'avoue que j'ai du mal à comprendre…Bref
Serait-il possible que tu me fasses passer un exemple que je vois comment ça s'intégre.
Merci d'avance gourou.gif

#7 Tekkila

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 7355 messages

Posté 19 May 2008 - 15:51 PM

Je te post ça ce soir, je dois en avoir un qui traine chez moi ...

A+

Joni

#8 studio

    Ceinture Jaune

  • Members
  • PipPip
  • 27 messages

Posté 19 May 2008 - 15:58 PM

Je te remercie…
@+

#9 Tekkila

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 7355 messages

Posté 19 May 2008 - 18:28 PM

Et voilà,

J'espère que c'est ce que tu attends, sinon dis moi et je t'expliquerai.

A+

Joni

Fichier(s) joint(s)



#10 studio

    Ceinture Jaune

  • Members
  • PipPip
  • 27 messages

Posté 19 May 2008 - 18:52 PM

Super, ça m'aide à comprendre comment introduire la variable qui gérera le clic. icon_idea.gif
Je cherchais depuis des jours, enfin presque… J'ai quand même étudié le précédent script que tu as posté et je suis en train de bosser avec.
Par contre avec cette méthode tu peux bloquer le rollover aprés un release ou c'est bien la "fonction "activateMenu" qui se charge de ça ?

#11 oxoid

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 204 messages

Posté 22 May 2008 - 09:06 AM

Citation (Joni @ May 19 2008, 09:28 PM) Voir le message
Et voilà,

J'espère que c'est ce que tu attends, sinon dis moi et je t'expliquerai.

A+

Joni


C'est nikel ce que je cherchais, mais comme le demande Kadom, comment fait on pour bloquer le rollover apres avoir cliquer dessus ?, j'essaye de bidouiller, mais je ne trouve pas de solutions

merci !


#12 oxoid

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 204 messages

Posté 23 May 2008 - 10:58 AM

Je n'arrive pas a trouver de solution. QQ peut il m'aider pour bloquer ce rollover une fois cliqué ?

merci.

#13 etrange.melancolie

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 390 messages

Posté 23 May 2008 - 13:49 PM

Salut,
Je n'arrive pas très bien a comprendre ce que tu entends par "bloquer le rollOver une fois cliqué"...
Dans un bouton tu as 3 états principaux:
-l'état normal (pas de souris dessus)
-l'état en rollOver (la souris passe sur le bouton)
-l'état en onPress (quand tu presses) ou onRelease (quand tu relâches)
et par extension l'état en rollOut, qui revient à l'état normal.

>> Si ce que tu souhaites est revenir a l'état rollOver après avoir clické sur le bouton, alors indiques sous l'état onRelease de ton bouton que tu retournes a l'image correspondant au rollOver (bien évidemment l'état de "réaction au click" est défini sur onPress)
>> Si ce que tu souhaites est bloqué l'état "clické", alors il va falloir mettre en écoute une variable de type Booléan, qui définira selon l'état de ton bouton afin de le "bloquer"

Précises donc un peu plus ta demande de manière a ce que l'on puisse te répondre plus clairement icon_biggrin.gif
Je te ferais une exemple selon.

#14 oxoid

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 204 messages

Posté 23 May 2008 - 15:00 PM

ok, je pensais avoir été clair :

alors je voudrais que lorsque l'on click sur l'un des lien, ce dernier reste "actif" >> ce qui peut correspondre a rester sur l'état roll.

exemple :

1_ normal : noir
2_ rollover : rouge
2_ rollout : retour au noir
3_ click : bleu
4_ actif : rouge (comme rollover)


En gros, on click sur le lien, on rentre dans la page correspondante et le lien reste rouge par exemple, comme ca on comprend bien ou on est dans le site.

Le probleme, c'est que si je met "retourne a l etat rollover", ca change bien la bonne couleur au click, mais quand je sors de mon bouton, bin vu que ya le rollout de defini, bin, il revient comme d'origine, d'ou l'expression "bloquer le rollover" ou le "rollout" si tu preferes. enfin en gros, au click, qu'il ne reagisse plus, mais reste de la couleur voulu (rouge par exemple).

Merci

Modifié par oXoiD, 23 May 2008 - 15:01 PM.


#15 Tekkila

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 7355 messages

Posté 23 May 2008 - 15:28 PM

Dans ce cas,

Tu mets une variable booléene à true quand tu cliques sur ton bouton et tu n'effectues ton action de Rollout que si ta variable est à False.

Ainsi, si tu cliques sur ton bouton, il n'effectuera plus le Rollout.

A+

Joni

#16 etrange.melancolie

    Ceinture Noire

  • Members
  • PipPipPipPipPipPipPip
  • 390 messages

Posté 23 May 2008 - 16:06 PM

Tu m'as grillé Joni icon_lol.gif

#17 Tekkila

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 7355 messages

Posté 23 May 2008 - 16:13 PM

Je sais ce que c'est. J'ai l'habitude de me faire griller par Paodao ou Aralicia ... icon_biggrin.gif



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)