Deplacement et reposition

gobgob74 Messages postés 25 Date d'inscription vendredi 6 octobre 2006 Statut Membre Dernière intervention 25 mars 2009 - 7 août 2007 à 14:13
Darkrats Messages postés 212 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 12 mai 2008 - 9 août 2007 à 13:56
bonjour, je reposte, car je galere trop.
voila je voudrais me deplacer sur une image lorsque je clic sur un bouton, je voudrais que sa me deplace a un coordonnees donnees ( x 100 ou x 200 ) peu importe je les gererai moi.

pour l'instant j'utilise se codage  pour chaque deplacement:
sur le clip :

onClipEvent (load) {
    var seDeplace:Boolean = false;
    var maHauteur:Number = 760;
    var maVitesse:Number = 50;
}
onClipEvent (enterFrame) {
    if (seDeplace) {
        if (this._x>maHauteur) {
            this._x -= 10*maVitesse/100;
            maVitesse += 10;
        }
        else
        {
            seDeplace = false;
        }
    }
}

sur le bouton :

on (release) {
    _root.monClip.seDeplace = true;
}

ou en rajoutant une variable
on (release) {
    _root.monClip.seDeplace = true;
    _root.monClip.maHauteur = 500;
}

mon probleme est que lorsque je clic sur un bouton sa me deplace le clip mais je voudrais que lorsque je reclik sur ce meme bouton je puisse revenir a la position de depart

je suis pas tres bon en actionscript, si qu'elqu'un peu m'aider, sa me casse la tete les math.

merci beaucoup :d

1 réponse

Darkrats Messages postés 212 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 12 mai 2008 1
9 août 2007 à 13:56
Salut,

Alors, le plus simple pour toi est de lui ajouter une variable à ton bouton :
genre : var premier_clic :Boolean = true;
et faire une vérification :
    if(premier_clic) {
        deplacer   
    }else{
        repositionner
    }

Mais à ne laisserait pas une boucle tourner perpétuellement pour rien ... car quand le personnage ne bouge pas, ta boucle n'a plus d'intérêt, non ?

De plus, il vaudrait mieux laisser tomber la nommenclature d'événement on( ) : les explications sont ici

Donc, tu pourrais faire quelque chose comme ça :

function deplacement(){
    if (seDeplace) {
        if (this._x>maHauteur) {
            this._x -= 10*maVitesse/100;
            maVitesse += 10;
        }
        else
        {
            seDeplace = false;
            delete _root.onEnterFrame;
        }
    }
}
var premier_clic :Boolean = true;
bouton.onRelease = function() {
    _root.monClip.seDeplace = true;
    if(premier_clic){
        _root.onEnterFrame = function(){
           deplacement();

           premier_clic = false;
        }
    }else{
       delete _root.onEnterFrame;
       // deplacement à gérer
        premier_clic = true;
    }
}

Evite de mettre des accents dans le nom de tes fonctions, c'est une très mauvaise pratique !

Courage

--------- Darkrats ---------
la loi est dure mais c'est la loi
Si je ne réponds pas assez vite, rappelez-moi par MP (assez vite, j'ai dit :P)
0
Rejoignez-nous