Un truc tout bête, snif [Résolu]

Signaler
Messages postés
745
Date d'inscription
mardi 25 mars 2003
Statut
Membre
Dernière intervention
14 juillet 2015
-
Messages postés
618
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
27 août 2010
-
salut, j'ai une question tout simple mais c prise de tete.
Je veux déplacer un clip de quelques pixel à partir de sa position initial.

Dans le clip j'ai mis ça :
onClipEvent (enterFrame) {
icix = this._x;
difx = _root.flechx-icix;
spidx = difx/7;
this._x = this._x+spidx;
}

Dans le bouton j'ai mis ça: (pour qu'il se déplace de 100 vers la droite...)
on (release) {
_root.flechx +=100;
}

Ca marche pas... c'est quoi la bonne synthaxe svp?...

Mici...

5 réponses

Messages postés
745
Date d'inscription
mardi 25 mars 2003
Statut
Membre
Dernière intervention
14 juillet 2015

C bon en fait, j'ai pas mis "vas à ta position et rajoute 10 pixels en plus", mais :
"ta position = la position du bouton 2... comme chaque bouton esst aligné, le clip s'aligne sur leur positions respectives... et ça le fait.
Messages postés
618
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
27 août 2010
2
Salut,
voici un code que tu mettre sur l'image clé et pas sur le clip (ici ton clip s'appelle monclip et ton bouton bouton).

flechx=0;

monclip.onEnterFrame=function(){
    icix = this._x;
    spidx = difx/7;
    this._x = this._x+spidx;
}

bonton.onRelease=function() {
    difx = _root.flechx-icix;
    _root.flechx +=100;
}

Par contre le clip sort de la scène. Si tu veux pas qu'il sorte de la scène il faut mettre une condition dans ta fonction enterFrame :
monclip.onEnterFrame=function(){
    if(this._x>0){
        icix = this._x;
        spidx = difx/7;
        this._x = this._x+spidx;
    }
    else{
        delete monclip.onEnterFrame;
    }
}

Le problème c'est que ton enterFrame est toujours actif tant que l'on a pas fini le mouvement.
Donc, le mieux serait peut-être de mettre tout ça dans une fonction et de virer les variables inutiles :

icix = monclip._x;

function mouvement(parametre){
monclip.onEnterFrame=function(){
    if(this._x>0){
        spidx = parametre/7;
        this._x = this._x+(parametre/7);
    }
    else{
        delete monclip.onEnterFrame;
    }
}
}

bonton.onRelease=function() {
    difx = 100-icix;
    mouvement(difx);
}

Voilà, j'ai tester chacune des solutions... ça marche.

Tout vient à qui sait attendre
Messages postés
745
Date d'inscription
mardi 25 mars 2003
Statut
Membre
Dernière intervention
14 juillet 2015

j'adore valider mes réponses, ça va devenir mon hobby préféré, mdr !
Messages postés
745
Date d'inscription
mardi 25 mars 2003
Statut
Membre
Dernière intervention
14 juillet 2015

Cool merci beaucoup... Je vais tester ça !!!
;)
Messages postés
618
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
27 août 2010
2
De rien... et si ça marche... valide aussi la réponse des autres

Tout vient à qui sait attendre