2009-11-06 7 views
2

J'ai créé un déflecteur horizontal et maintenant je suis coincé sur la façon de calculer la position du contenu lorsque le défileur est à une position.AS3 formule de contenu barre de défilement

private function checkDrag(event:Event):void { 
     var procent:Number = (stage.stageWidth/(buttonLR.x+buttonLR.width))*(LISTmc.width) 
     if (drag) { 
      TweenLite.to(LISTmc,1,{x:-procent}); 
     } 

//buttonLR width is also stretched according to how many data loads in, 
thats why I'm trying to target the center of buttonLR 
    } 

Un nouveau contenu sera ajouté de gauche à droite à chaque fois que je clique sur un bouton, de sorte que la barre de défilement se déplace vers l'extrémité droite de la barre depuis son défilement de gauche à droite, et de montrer le dernier contenu . Donc, si je veux revenir au contenu précédent, je dois faire glisser le défilement vers la gauche.

Actuellement mon code après avoir chargé dans un nouveau contenu et je clique sur le défilement, le contenu se déplacera jusqu'à la fin du côté gauche de la scène (coin droit du contenu x = 0), et en le faisant glisser fera le mouvement de contenu est parti plus.

Répondre

3

Pour ce faire correctement, vous devez trouver la largeur hors de l'écran (extraWidth), puis calculer la position en conséquence. Je voudrais également soustraire la largeur du bouton de la stageWidth lorsque vous calculez le pourcentage sur lequel le bouton est placé:

private function checkDrag(event:Event):void { 
     if (LISTmc.width < stage.stageWidth) { 
     return; 
     } 
     var extraWidth:Number = LISTmc.width - stage.stageWidth; 
     var percentage:Number = buttonLR.x/(stage.stageWidth - buttonLR.width) 
     var newXPos:Number = - extraWidth * percentage; 
     if (drag) { 
     TweenLite.to(LISTmc,1,{x:newXPos}); 
     } 
    } 

vous espère que cela aide

+0

fonctionne parfaitement! Merci! – Hwang

0

Voici aussi un grand POO scrollbar vous pouvez utiliser, il supporte également le flou, la facilité, etc ... utilise également des effets assouplissement GreenSock

AS3 Scrollbar (ease, blur, abstract, OOP)