我在网上搜索过,但我无法解决问题。
(adobe flash pro cs6) 我在舞台上放了一个简单的滚动条,并从libary(actionsfor actions的导出)中设置了一个movieclip“pages”作为.source。
“pages”movieclip有一些关键帧,每个关键帧代表一个页面。好吧,这些页面的高度不同,当我切换页面时,滚动窗格没有注意到嵌套动画片段的高度变化,所以它保持在第一个关键帧的滚动条高度。
我试过.invalidate()和.refreshPane(),但它们都适合我。
这是我的代码:
主要时间表:
viewport.source = pages;
viewport.setSize( 990, 480 );
var pages_mc:MovieClip = viewport.content as MovieClip;
菜单时间表
btn_a.buttonMode = true;
btn_a.addEventListener( MouseEvent.CLICK, btnClick );
btn_b.buttonMode = true;
btn_b.addEventListener( MouseEvent.CLICK, btnClick );
function btnClick( e:MouseEvent ):void {
if( e.target.name == "btn_a" ) {
MovieClip(root).pages_mc.gotoAndStop("pa");
MovieClip(root).viewport.invalidate();
} else if( e.target.name == "btn_b" ) {
MovieClip(root).pages_mc.gotoAndStop("pb");
MovieClip(root).viewport.invalidate();
}
}
答案 0 :(得分:1)
尝试(假设viewport
是您的ScrollPane)viewport.update()
。
我不知道你在网上尝试了什么,但Adobe文档实际上相当不错。来自refreshPane()
的条目:
此方法不会重绘滚动条。要重置滚动条, 使用update()方法。