2010-06-07 4 views
0

Je cherchais un tutoriel et y répondais depuis un moment mais je ne trouve pas ce que je cherche. Je charge du texte html dans un champ de texte dynamique, et j'ai une barre de défilement contrôlant le scroll en utilisant le code ci-dessous. Ce que je veux faire est également ajouter des boutons de défilement vers le haut/bas et faire déplacer la barre de défilement par rapport au défilement du texte. J'allais simplement utiliser "tracklistingtext.scrollV -" pour les boutons de défilement, mais en ce moment la barre de défilement ne reconnaît pas le mouvement du texte. Que dois-je faire pour que la barre de défilement écoute la position du défilement du texte?Flash AS3: Comment faire en sorte que la barre de défilement réagisse au mouvement du champ de texte dynamique?

var listTextreq:URLRequest=new URLRequest("tracklist.txt"); 
var listTextLoader:URLLoader = new URLLoader(); 
var bounds:Rectangle=new Rectangle(scrollMC.x,scrollMC.y,0,300); 
var scrolling:Boolean=false; 

function fileLoaded(event:Event):void { 
tracklistingtext.htmlText=listTextLoader.data; 
tracklistingtext.multiline=true; 
tracklistingtext.wordWrap=true; 
scrollMC.addEventListener(MouseEvent.MOUSE_DOWN, startScroll); 
stage.addEventListener(MouseEvent.MOUSE_UP, stopScroll); 
addEventListener (Event.ENTER_FRAME, enterHandler); 

} 

listTextLoader.addEventListener(Event.COMPLETE, fileLoaded); 
listTextLoader.load(listTextreq); 

function startScroll(e:Event):void { 
scrolling=true; 
scrollMC.startDrag(false,bounds); 
} 

function stopScroll(e:Event):void { 
scrolling=false; 
scrollMC.stopDrag(); 
} 

function enterHandler (e:Event):void { 
if (scrolling == true) { 
    tracklistingtext.scrollV = Math.round(((scrollMC.y - bounds.y)/300)*tracklistingtext.maxScrollV); 
} 
} 

Toute aide est grandement appréciée. Remplacez les calculs de scrollHandler par le vôtre.

+0

Désolé, pas vraiment sûr de ce que vous voulez réaliser. Pouvez-vous clarifier un peu plus? – Robusto

+0

À l'heure actuelle, la barre de défilement contrôle le défilement du texte, mais le défilement du texte ne contrôle pas la barre de défilement. Avoir du sens? Si la barre de défilement se déplace, le texte se déplace, mais si je déplace le texte, la barre de défilement ne bouge pas. – HeroicNate

Répondre

0

//... 

function fileLoaded(event:Event):void { 
    tracklistingtext.htmlText=listTextLoader.data; 
    tracklistingtext.multiline=true; 
    tracklistingtext.wordWrap=true; 
    scrollMC.addEventListener(MouseEvent.MOUSE_DOWN, startScroll); 
    stage.addEventListener(MouseEvent.MOUSE_UP, stopScroll); 
    addEventListener (Event.ENTER_FRAME, enterHandler); 
    /* !!! */ tracklistingtext.addEventListener(Event.SCROLL, scrollHandler); 
} 

//... 

function scrollHandler(event:Event):void { 
    scrollMC.y = (tracklistingtext.scrollV/tracklistingtext.maxScrollV) * bounds.height + bounds.y; 
} 
Questions connexes