【问题标题】:AS3 - ScrollPane Dynamic Scroll Height IssueAS3 - ScrollPane 动态滚动高度问题
【发布时间】:2012-10-16 11:59:18
【问题描述】:

我搜索了整个网络,但我找不到问题。

( adobe flash pro cs6 ) 我在舞台上放了一个简单的滚动窗格,并从库中设置了一个movieclip“页面”(导出为actionscript)作为.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();
    }
}

【问题讨论】:

    标签: actionscript-3 flash dynamic scroll scrollpane


    【解决方案1】:

    尝试(假设 viewport 是您的 ScrollPane)viewport.update()

    我不知道您在网络上的哪个位置尝试过,但 Adob​​e 文档实际上在这方面做得很好。来自refreshPane()的条目:

    此方法不会重绘滚动条。要重置滚动条, 使用 update() 方法。

    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/fl/containers/ScrollPane.html#update%28%29

    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/fl/containers/ScrollPane.html#refreshPane%28%29

    【讨论】:

    • 谢谢你!这就是我一直在寻找的:D 它就像一个梦。我看过 adobe 文档,但我只是简单地 owerflyed .update 类..
    • 好东西 - 很高兴能提供帮助。
    猜你喜欢
    • 2020-01-30
    • 2017-01-18
    • 1970-01-01
    • 2021-11-26
    • 1970-01-01
    • 2014-12-15
    • 2013-03-13
    • 1970-01-01
    • 2012-11-21
    相关资源
    最近更新 更多