Rouler et rouler sur les boutons

voix
0

J'ai deux boutons dans mon application flex à côté de l'autre, et boutonA ButtonB. Lorsque l'utilisateur fait un capotage sur l'un des deux boutons de la souris, je veux que le déploiement sur la peau (overSkin) à afficher sur les deux boutons, à savoir le bouton A et B. Bouton J'ai essayé de le faire en utilisant quand roulé utilisateur sur bouton B:

ButtonA.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OVER));

puis lorsque l'utilisateur a déployé Button BI faire:

ButtonA.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OUT));

Bouton Je ne peux pas faire la même chose sur le bouton A lorsque les rouleaux utilisateur / sortie. Il provoque une boucle infinie qui entraîne un débordement de pile.

Y a-t-un autre moyen de faire ça?

Créé 27/08/2009 à 01:40
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
1

Contrôle de la récursion explicitement avec une variable supplémentaire. Pour roulement à bouton A:

if(!rolledIntoButtons) {
  rolledIntoButtons = true
  ButtonB.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OVER))
}

... avec la même chose en arrière dans le bouton B. Ensuite, sur le déploiement dans le bouton A:

if(rolledIntoButtons) {
    rolledIntoButtons = false
  ButtonB.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OUT))
}

En outre, consultez la documentation sur les boutons; vous pourriez être en mesure d'éviter l'introduction d'une variable supplémentaire en vérifiant l'état de renversement des boutons directement.

Créé 27/08/2009 à 01:54
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more