我已经搜索了整个网络,但我无法解决问题。
(adobe flash pro cs6)我在舞台上放了一个简单的滚动窗格,并从库(导出为actionscript)中设置了一个movieclip“页面”作为.source。
“页面”电影剪辑有一些关键帧,每个关键帧代表一个页面。好吧,这些页面的高度不同,当我切换页面时,滚动窗格不会注意到嵌套影片剪辑的高度变化,因此它保持在第一个关键帧的滚动条高度上。
我试过 .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();
}
}