Easy-Micro

ESPACEMEMBRE ActionScript
Cliquer-Glisser

Déplacement manuel de clip

Deux méthodes (de l'objet MovieClip) permettent de déplacer un clip par un cliquer/glisser: startDrag() et stopDrag(). Elles permettent de réaliser des déplacements contraint ou des déplacements libre.

En AS3, la fonction startDrag() attend seulement 2 paramètres:
Le vérouillage au centre (false ou true) et une zone de contrainte (comme un rectangle)

En AS2, la fonction startDrag() attend 5 paramètres:
startDrag(verrouillage au centre, gauche, haut, droit, bas)

Lors d'un click, le verrouillage au centre doit être sur false pour être déplacable.
"gauche", "haut", "droit" et "bas" sont des valeurs facultatives relatives aux coordonnées du clip qui spécifies un rectangle de délimitation pour le clip (les contraintes de déplacement). Attention: coordonnées relatives à la position du clip

Exemple de déplacement (AS3)

function appuyer(evt:MouseEvent):void {
monclip.startDrag();
}
monclip.addEventListener(MouseEvent.MOUSE_DOWN, appuyer);

function relacher(evt:MouseEvent):void {
monclip.stopDrag();
}
monclip.addEventListener(MouseEvent.MOUSE_UP, relacher);

Si je veux rajouter un autre clip (monclip2), il suffit d'ajouter ces 2 lignes de code après le code existant:
monclip2.addEventListener(MouseEvent.MOUSE_DOWN, appuyer);
monclip2.addEventListener(MouseEvent.MOUSE_UP, relacher);

Ce qui sous-entend que je peut utiliser les même fonctions (appuyer et relacher) pour plusieurs clip!

Containte dynamique
En AS3, la fonction startDrag() attend seulement 2 paramètres : Le vérouillage au centre (false) et une zone de contrainte (un rectangle)

Exemple de déplacement avec containte dynamique (AS3)
var monRectangle:Rectangle = new Rectangle((monclip.width)/2, monclip.y, stage.stageWidth, 0);
monclip.startDrag(false, monRectangle);

Syntaxe de la classe Rectangle : Rectangle(xRect, yRect, largeurRect, hauteurRect);


< Page précédente ACTIONSCRIPT Page suivante >