Flash ScrollPane混乱,向下滚动向右滚动

时间:2014-04-03 17:59:42

标签: actionscript-3 flash movieclip scrollpane

我有一个令人困惑的ScrollPane问题,我希望以前有人遇到过这个问题!

我有一个名为Inner_Area的影片剪辑,它会将许多其他较小的影片剪辑加载到其中。最终结果是它看起来像一个字符串列表。

在使用附加信息填充Inner_Area movieclip之后,我将ScrollePane对象的源设置为它。

scroll_area.source = Inner_Area;

当我播放动画片段时,列表会成功加载,右侧会出现一个滚动条。这就是奇怪的部分发生的地方。

如果我点击向下滚动箭头,试图查看列表底部的项目,Inner_Area实际上似乎滚动到右边。完全没有失望。我已经查看过我的动作脚本了,我不能为我的生活看到它是怎么回事。

我当然没有包含任何代码,因为我最初希望某人之前可能遇到类似的情况。如何获得一个滚动窗格区域,当您向下滚动时,它实际上是向下而不是向另一个方向移动?

非常感谢任何提示,提示或建议!

一些代码:

public class MenuBackground extends MovieClip 
{
    scroll_area = new ScrollPane();
    scroll_area.x = -275;
    scroll_area.y = -77;
    scroll_area.width = 250;
    scroll_area.height = 175;

    addChild(scroll_area);

    inner_area = new Inner_ZoneScrollArea();

    spacing = 0;

    for (i= 0; i < numthings; i++)
    {
    _field = new _Field();
    _field.y = spacing;
    spacing = spacing + 20;

        inner_area.addChild(_field);
    }

    scroll_area.source = inner_area;
}

在另一个文件中,是_Field代码:

public function _Field() 
{
     _Format = new TextFormat();
    _Format.size = 16;

    _TextField = new TextField();
    _TextField.x = 50;
    _TextField.y = 4;
    _TextField.textColor = 0xFFFFFF;
    _TextField.defaultTextFormat = _Format;
    _TextField.autoSize = "left";
    _TextField.multiline = true;  // Just added these last two on suggestion in this thread

    _TextField.text = "Name"; // some text

    addChild(_TextField);
}

2 个答案:

答案 0 :(得分:1)

不确定你是否已修复此配对,但我认为我有一个类似的问题,试图将动态内容添加到ScrollPane如果您的滚动条没有出现问题,则需要对ScrollPane进行更新我不得不把它放在一个Timer上,以便它给内容时间追加然后更新。像这样

var timer:Timer = new Timer(3000,1);

timer.addEventListener(TimerEvent.TIMER, updateEvent);
timer.start();

function updateEvent(e:TimerEvent):void
{
   ScrollPane.update();
   timer.stop();
}

希望这可以帮助其他任何有类似问题的人将动态内容加载到ScrollPane

答案 1 :(得分:0)

以下简单示例生成向下滚动的ScrollPane

var tf:TextField = new TextField();
tf.text = "Lorem \nIpsum dolor \nsit amet \nthese are \nmany\nmany \nmany \nmanylines of \ntext"; 
tf.autoSize = "left";
tf.multiline = true;

var sp:ScrollPane = new ScrollPane();
sp.source = tf;
addChild(sp);