AS3 Probleme dans mon slide horizontal

valouedna Messages postés 1 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 6 mai 2009 - 6 mai 2009 à 17:52
cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 - 7 mai 2009 à 11:35
Bonjour tout le monde
Je suis en train de réaliser mon portfolio en utilisant le slide horizontale comme navigation
Débutant en flash depuis quelques semaines, je suis arrivé à faire ca ( c'est une version très simplifié qui présente juste l'effet de slide):
http://turing.lecolededesign.com/emdurand/flash/mediabox/box3.swf

Le code :

import gs.TweenMax;
import gs.easing.*;

box.x = 700;

box.addEventListener(MouseEvent.MOUSE_DOWN,appuyer);
box.addEventListener(MouseEvent.MOUSE_UP,relacher);
box.buttonMode = true;
box.useHandCursor = true;

function appuyer (evt:MouseEvent) {
    box.addEventListener (MouseEvent.MOUSE_MOVE, bt_move)
}

function bt_move (evt:MouseEvent) {
        box.addEventListener(Event.ENTER_FRAME,bouger);
}

function bouger (evt:Event) {
    TweenMax.to (box, 0.5,{x: mouseX});
}

function relacher (evt:MouseEvent) {
    box.removeEventListener (MouseEvent.MOUSE_MOVE, bt_move)
    box.removeEventListener(Event.ENTER_FRAME,bouger);
    box.addEventListener(Event.ENTER_FRAME,stopper);
}

function stopper (evt:Event) {
    TweenMax.to (box, 0.5,{x: mouseX, onComplete:arreter});
}

function arreter () {
        box.removeEventListener(Event.ENTER_FRAME,stopper);
}
   

Cependant je rencontre un gros probleme : après un premier deplacement du rectangle, lorsqu'on le reclick dessus, le rectangle se recentre automatiquement sur lui même? Quelqu'un aurait une idée ?

merci beaucoup

emmanuel

1 réponse

cs_Girou Messages postés 1203 Date d'inscription lundi 10 mars 2003 Statut Membre Dernière intervention 23 juillet 2009 2
7 mai 2009 à 11:35
Bonjour,

simple question, pourquoi ne pas utiliser un startDrag et stopDrag plutôt que les Tween (bien que je sois un fervant utilisateur de TweenLite/TweenMax) ?

aussi, lorsque le bouton est enfoncé, à  chaque ENTERFRAME tu relances un nouveau tween de 0.5 seconde, je me demande si tu ne devrais pas tuer le Tween en cours avant d'en relancer un nouveau.

@+
0
Rejoignez-nous