我有一个令人困惑的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);
}
答案 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);