2009-03-25 12 views
2

J'ai ce code qui devrait changer la couleur d'un champ de texte dynamique lorsque je survole le lien movieclip, puis de retour lorsque je déploie. Je n'ai pas d'erreur de compilation, ça ne marche pas.Changer la couleur d'un problème de champ de texte dynamique

function textColor(mc_function:MovieClip, tf_text:TextField) { 
mc_function.onRollOver = function() { 
    tf_text.textColor = 0x7cb0b7; 
}; 
mc_function.onRollOut = function() { 
    tf_text.textColor = 0xffffff; 
}; 
} 

boxLink(link_a1,text_a1); 
boxLink(link_a2,text_a2); 
boxLink(link_a3,text_a3); 

Des pensées?

Répondre

1

Essayez ceci:

function SetMouseAction(pMovieClip, pTextField):Void { 
    pMovieClip.linkedText = pTextField; 
    pMovieClip.onRollOver = function() { 
      this.linkedText.textColor = 0x7cb0b7; 
    }; 
    pMovieClip.onRollOut = function() { 
      this.linkedText.textColor = 0xffffff; 
    }; 
} 

SetMouseAction(link_a1, text_a1); 
SetMouseAction(link_a2, text_a2); 
SetMouseAction(link_a3, text_a3); 

au moins je l'ai testé et ça marche pour moi

+0

Merci! Existe-t-il un moyen de simplifier le code, comme de se débarrasser de SetMouseAction() répété? Quelque chose d'automatique? –

+0

pour (var i: Number = 1; i <= 3; i ++) { \t SetMouseAction (_root ["link_a" + i], _root ["text_a" + i]); } – Unreality

Questions connexes