hello tout le monde !
voisci mon pb :
j'ai créé une class AS2 "menu" héritée de movieclip dans laquelle on peut ajouter des boutons.
le hik, c'est que les boutons ne fonctionnent po ;(
j'ai essayé en vain :
- de définir la methode onRollOver sur chaque bouton.
- de coller un écouteur sur les boutons
vala en gros la class :
pour bien comprendre, dans le menu il y a plusieurs movieclips dont certains vont bouger au survol de la souris pour laisser apparaitre les boutons (menu déroulant ;))
les boutons sont créer par la méthode menu.add_menu("nom", "url");
class menu extends MovieClip {
/**
Déclaration des variables
*/
private var fleur:MovieClip = null;
//...........et la suite
/**
constructeur
*/
public function menu() {
//trace("menu::constructeur");
tab = new Array();
fleur = this.createEmptyMovieClip("fleur", this.getNextHighestDepth());
fleur.loadMovie("Png/fleur.png");
fleur._x = -38;
fleur._y = 0;
//.............. et la suite
}
function onEnterFrame() {
var i:Number = 1;
if(dessus){
if(capsule_bas._y <= (90+nb_bouton*30) ){
capsule_mi._height +=30;
capsule_mi._alpha -=(30/nb_bouton);
capsule_bas._y +=30;
if(capsule_bas._y >=100){nom._visible = true;}
for(i=1; i<=nb_bouton+1; i++){
if(tab[i]._y<=capsule_bas._y){tab[i]._visible= true;}
}
}
/* FONCTION BIDON POUR FAIRE REAGIR LES BOUTONS */
for(i=1; i<=nb_bouton+1; i++){
if(_ymouse>=tab[i]._y && _ymouse<=tab[i]._y+20){tab[i]._alpha = 75; tab[i]._xscale = 125;}
else if(tab[i]._alpha!=25){tab[i]._alpha = 25;tab[i]._xscale = 100;}
}
/* FIN FONCTION BIDON */
}
else {
if(capsule_bas._y >=70){
capsule_mi._height -=30;
capsule_mi._alpha +=(30/nb_bouton);
capsule_bas._y -=30;
if(capsule_bas._y <=70){nom._visible = false;}
//pistil1._visible = false;
for(i=1; i<=nb_bouton+1; i++){
if(tab[i]._y >= capsule_bas._y){tab[i]._visible= false;}
}
}
}
}
function onRollOver() {
dessus = true;
}
function onRollOut() {
dessus = false;
}
function add_menu(str:String, url:String){
nb_bouton++;
var bouton = this.attachMovie("Button", "bout"+nb_bouton, this.getNextHighestDepth());
bouton.label = str;
bouton._x = 10;
bouton._y = 100+(nb_bouton-1)*30;
bouton._visible = false;
bouton._alpha = 25;
// FONCTION QUI NE FONCTIONNE PAS
bouton.onRollOver = function() {trace("sur bout"+nb_bouton);}
tab[nb_bouton] = bouton;
}
}
vala, j'espère avoir été clair.
merci pour vos réponses....
saibe