我一直在寻找一个教程并回答一段时间,但找不到我想要的东西。我正在将html文本加载到动态文本字段中,我有一个滚动条使用下面的代码控制滚动。我想要做的还是添加滚动向上/向下按钮,并使滚动条相对于文本滚动移动。我只是使用“tracklistingtext.scrollV - ”作为滚动按钮,但是现在滚动条无法识别文本移动。我需要做什么才能让滚动条听到文字滚动位置?
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);
}
}
非常感谢任何帮助。
答案 0 :(得分:0)
将scrollHandler计算替换为您的。
//...
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;
}