Comment rendre "clicable" un duplicatemovieclip

Signaler
Messages postés
7
Date d'inscription
dimanche 27 août 2006
Statut
Membre
Dernière intervention
20 septembre 2006
-
Messages postés
759
Date d'inscription
mercredi 11 décembre 2002
Statut
Membre
Dernière intervention
12 novembre 2008
-
Bonjour,

J'ai un MC nommé lampe, avec un linkage lampe, dans ma bibliothèque. (c'est l'image d'une lampe torche)
Je souhaite, en cliquant dessus, qu'un double apparaisse à l'écran.
J'arrive à le faire avec un duplicateMovieClip mais ensuite, je ne peux pas cliquer sur ces duplicates (alors que je souhaiterais par exemple les déplacer aussi en Drag & Drop).
Comment faire?
Merci d'avance.
voici mon code:

var ex=0;
lampe.onPress = function() {
    this.startDrag()
    ex++;
    this.duplicateMovieClip("lampe"+ex,ex);
    //_root.attachMovie("lampe","lampe"+ex,this.getNextHighestDepth(), {_x:100, _y:100});
    _root["lampe"+ex]._x=50+10*ex;
    _root["lampe"+ex]._y=50+10*ex;
};
lampe.onRelease = function() {
    stopDrag();
};

après, aucun effet avec un:
lampe0.onPress = function(){

    this.startDrag();

};
ou un:
_root["lampe"+ex].onRelease = function(){
    stopDrag();
};

Est-ce lié au linkage des duplicates? D'ailleurs, quel est-il? Peut-on le nommer soit même avec une commande type lampe0._linkage = lampe0?

NB: également, pourquoi avec la ligne _root.attachMovie("lampe","lampe"+ex,this.getNextHighestDepth(), {_x:100, _y:100}); que j'ai laissé en commentaire, ça ne marche pas, à savoir qu'à chaque clic, je crée un nouveau MC mais celui d'avant disparait? (et c'est toujours non clicable)?

4 réponses

Messages postés
759
Date d'inscription
mercredi 11 décembre 2002
Statut
Membre
Dernière intervention
12 novembre 2008

salut

les fonctions liée a un clip que tu duplicate ne sont pas 'recopier' donc il faut les redéfinir pour chaque clip.
soit tu fait simpliste
clip=this.duplicateMovieClip("lampe"+ex,ex);
clip.onPress = function(){
....
}
....

soit tu regarde du coté des classes ou prototype qui te ferais la recopie 'automatiquement'
pour ton attachMovie je sait pas trop mais tu melange du root et du this. et sache que pour faire un duplicate le linkage n'est pas nécésaire.
petit rappel : duplicate : cela duplique un clip deja existant dans l'animation via son nom d'instance.
                    attach : cela crée une instance d'un clip via un symbole contenu dans la library (et c'est ici que l'on a besoin du linkage)

En espérant t'avoir aidé un petit peu ;)
<hr />Venez que je vous vide de votre sang ^^
Messages postés
7
Date d'inscription
dimanche 27 août 2006
Statut
Membre
Dernière intervention
20 septembre 2006

Bah, en fait, pas complétement, mais je viens de trouver une parade:
mon objectif est de pouvoir faire du Drag & Drop sur les copies.
J'ai donc inséré le code:
this.onPress = function () {
    this.startDrag();
};
this.onRelease = function () {
    stopDrag ();
};
.... directement dans le symbole movieclip "lampe". (Edit MC puis clic dans la fenêtre hors symbole).. (je viens de découvrir qu'on pouvait coder dans le symbole:!).

Du coup, dès le départ, le MC "lampe" que je veux dupliquer est "Drag & Dropable"..
Ensuite, j'ai créé un autre MC "double" sur la scène avec le code:
    double.onPress = function() {
    ex++;
    tempo = _root.attachMovie ("lampe","lampe"+ex,ex);
    tempo._x=50+10*ex;
    tempo._y=50+10*ex;
   };

Et là, ça marche. A chaque clic sur "double", j'ai une copie de "lampe" que je peux "drag & drop"
Messages postés
345
Date d'inscription
jeudi 2 septembre 2004
Statut
Membre
Dernière intervention
25 octobre 2007

tu peux simplement faire movieclip.onRelease = function(){}
Wala ^^
Messages postés
759
Date d'inscription
mercredi 11 décembre 2002
Statut
Membre
Dernière intervention
12 novembre 2008

Et bien voula la plupart du tps on trouve tout seul les solutions a nos problémes ^^
C'est comme ca que l'on apprend ;)

<hr />http://www.carton.c.la