Fonction pour movie clic crée par le code

Résolu
cs_milo2009 Messages postés 180 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 8 août 2011 - 10 oct. 2006 à 15:29
cs_milo2009 Messages postés 180 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 8 août 2011 - 11 oct. 2006 à 16:23
Salut,

Voila, j'ai fait une galerie d'image qui tire ces information d'un fichier xml généré par une page php.

Tout fonctionne, j'utilise la fonction "createEmptyMovieClip" pour créer un movieclip vide que je remplis avec "loadMovie".

Mon probleme et que je voudrais que l'image grandisse quand je là survole. La fonction devrai resembler a cela je crois :
    nomDeOcurrence.onMouseOver = function{
       //le code pour le zoom
    }

Cependant, meme si je connais le code pour détecter le survole, vu que le movieClip et crée par le code, je ne saispas comment généré la fonction pour chaque movieClip crée.

Si vous etês perdu, je vous comprend !

En gros, je veux mettre une fonction sur movieClip que je crée dynamiquement par le code.

Je vous remercie de votre aide.

8 réponses

cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
10 oct. 2006 à 16:00
Salut milo,

nomDeOcurrence.onRollOver = function{
       //le code pour le zoom
   this._xscale=110;
   this._yscale=110;
    }
ce qui grossit l'image à 110 % de sa taille originale.
Attention, ce n'est pas un aggrandissement progressif, c'est 100 % ou 110 % de la taille.
Pas oublier de remettre l'échelle à 100% lorsque la souris est plus dessus !
nomDeOcurrence.on Roll Out = function{
       //le code pour le zoom
   this._xscale=100;
   this._yscale=100;
    }

bonne après-midi.

Jo
3
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
11 oct. 2006 à 15:53
hum...

sans doute que le la variable transmise à la fonction est une string ne contenant que "image47" et non pas une référence complete au movieClip

essaye en mettant nom=this et pas nom=this._name dans ta fonction Survole, et dans nImg le trace(_nom) devrait te donner quelquechose comme "_level0.image47"
ce qui est un référence correcte vers ton clip

@+
3
cs_milo2009 Messages postés 180 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 8 août 2011 1
11 oct. 2006 à 09:42
Merci
0
cs_milo2009 Messages postés 180 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 8 août 2011 1
11 oct. 2006 à 11:02
J'avais oublié un truc, mon code est :

Survole = function(){
    nom = this._name;
    tDep = getTimer()+1400;
    monInterval = setInterval(nImg, 80);
}

nImg = function (){  
    ???._xscale+=10;
    ???._yscale+=10;
   
    if(getTimer() >= tDep){
        clearInterval(monInterval);}
};   

image47.onRollOver = Survole;

Le probleme c'est que la fonction "nImg" n'as pas le nom de l'occurence a zoomer, j'ai essayer avec la variable contenant son nom mais cela ne fonctionne pas.
Difficulté,  je ne peux rien passer en parametre à "nImg" sinon setInterval ne fonctionne plus.

Tu a une solution ?

Merci
0

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

Posez votre question
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
11 oct. 2006 à 12:18
Salut,
la fonction setInterval() accepte des parametres.

Survole = function(){
    nom = this._name; // attention je pense que this._name se réfère à la fonction et pas au clip qui appel la fonction
    tDep = getTimer()+1400;
    monInterval = setInterval(nImg, 80, nom );
}

nImg = function (_nom){  
    _nom._xscale+= 10;
    _nom ._yscale+ =10;
   
    if(getTimer() >= tDep){
        clearInterval(monInterval);}
};   

image47.onRollOver = Survole;
0
cs_milo2009 Messages postés 180 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 8 août 2011 1
11 oct. 2006 à 14:07
Etonnant, mais marche pas.

Survole = function(){
    nom = this._name; // this._name retourne bien le nom du clic qui l'a appelé
    tDep = getTimer()+1400;
    monInterval = setInterval(nImg, 80, nom );
}

nImg = function (_nom){
    trace(_nom);   //Affiche bien le contenue de la variable qui est "image47"

    //ERREUR
    trace(_nom.xscale);
    _nom._xscale+= 10;
    _nom ._yscale+ =10;
   // FIN ERREUR
   
    if(getTimer() >= tDep){
        clearInterval(monInterval);}
};   

image47.onRollOver = Survole;
0
cs_milo2009 Messages postés 180 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 8 août 2011 1
11 oct. 2006 à 14:09
trace(_nom._xscale); //affiche undefined(dsl pour l'erreur d'orthorgraphe ci-dessus)
0
cs_milo2009 Messages postés 180 Date d'inscription vendredi 4 juillet 2003 Statut Membre Dernière intervention 8 août 2011 1
11 oct. 2006 à 16:23
Tu a raison, ca marche.

Cependant, on m'a donnée une autre explication.

Si cela ne fonctionnais pas c'es parceque le movie clip et exterieur a la fonction, donc le "this" ne la connais pas.

J'ai donc remplacé "this" par "_root", et la cela fonctionne.

Merci de ton aide.
0
Rejoignez-nous