Voici un petit bout de code qui permet de créer un scrolling dynamique en fonction de la taille du conteneur et de la position de la souris, quelle que soit la taille de l'écran du visiteur.
Ce code est à placer dans une classe (enlever les private si vous voulez le mettre sur la timeline).
pour info :
largeur = largeur de votre zone visible (donc soit la taille de l'anim dans flash soit un masque)
container = conteneur du contenu à scroller et zone sensible à la souris
private function addScrollListener ():void {
container.addEventListener(MouseEvent.MOUSE_MOVE, replaceIt);
}
private function replaceIt(e:MouseEvent):void {
var a:Number = largeur - stage.stageWidth;
var calcul:Number = e.stageX - a/2;
var delta:Number = calcul / stage.stageWidth;
var targetX:int;
targetX = 0 - (delta * container .width) + stage.stageWidth/2;
Tweener.addTween( container , {x:targetX, time:8, transition:"easeOutExpo"} );
}
largeur = largeur de votre zone visible (donc soit la taille de l'anim dans flash soit un masque)
container = conteneur du contenu à scroller et zone sensible à la souris
private function addScrollListener ():void {
container.addEventListener(MouseEvent.MOUSE_MOVE, replaceIt);
}
private function replaceIt(e:MouseEvent):void {
var a:Number = largeur - stage.stageWidth;
var calcul:Number = e.stageX - a/2;
var delta:Number = calcul / stage.stageWidth;
var targetX:int;
targetX = 0 - (delta * container .width) + stage.stageWidth/2;
Tweener.addTween( container , {x:targetX, time:8, transition:"easeOutExpo"} );
}
Je ne vais pas expliquer ce code car il est utilisable tel quel sur tous les DisplayObject (Sprite, MovieClip, Bitmap, etc..) donc textes aussi. Il vous faut juste définir la zone visible, le conteneur et le contenu.
Benjamin
Aucun commentaire:
Enregistrer un commentaire