Pour mon appli Air j'utilise le script ci-dessous pour balayer les pages d'un clip importé dans ma scène et je souhaiterais trouver une solution afin de le modifier et de l'utiliser pour plusieurs clips, auriez-vous une idée dans ce sens ?
Merci.
page_slider.x = 0;
var currentStep :Number = page_slider.x;
var step :Number = 330; // Dimension de la page
var max :Number = 0; // Butée Gauche
var min :Number = -660; // Butée Droite
var distMin :Number = 15; // Distance de relachement
var nextX :Number = currentStep;
var startX :Number;
var offsetX :Number;
var moving :Boolean = false;
var smooth :Number = 0.30; // Vitesse
var mouseIsUp :Boolean = true;
page_slider.addEventListener(MouseEvent.MOUSE_DOWN,onDown);
function onDown(e:MouseEvent):void{
offsetX = page_slider.mouseX;
startX = mouseX;
moving = true;
mouseIsUp = false;
if(!hasEventListener(Event.ENTER_FRAME))addEventListener(Event.ENTER_FRAME,update);
stage.addEventListener(MouseEvent.MOUSE_MOVE,onMove);
stage.addEventListener(MouseEvent.MOUSE_UP,onUp);
}
function onUp(e:MouseEvent):void{
mouseIsUp = true;
var dx:Number = mouseX - startX;
if( dx < -distMin){
currentStep -= step;
if(currentStep < min) currentStep = min;
}else if(dx > distMin){
currentStep += step;
if(currentStep > max) currentStep = max;
}
nextX = currentStep;
stage.removeEventListener(MouseEvent.MOUSE_MOVE,onMove);
stage.removeEventListener(MouseEvent.MOUSE_UP,onUp);
}
function onMove(e:MouseEvent):void{
nextX = mouseX - offsetX;
}
function update(e:Event):void{
if(moving){
page_slider.x -= (page_slider.x - nextX) * smooth;
if(mouseIsUp && Math.abs(page_slider.x - nextX) < 1){
page_slider.x = nextX;
moving = false;
removeEventListener(Event.ENTER_FRAME,update);
}
}
}