AS3在Scrollpane中滚动动态创建的内容

时间:2012-07-12 03:38:34

标签: actionscript-3 scroll scrollpane

这是我第一次真正达到了我不得不为编程问题寻求帮助的地步。我已经在网上找到关于这个问题的所有领先优势但无济于事。我也尝试过其他人(几乎)发现相同问题的修复程序。

问题在于:

我创建了一个flash-chat客户端和服务器。它们都按预期工作,我最近决定在Flash客户端上将用户消息显示为单独的movieclip实例,这样我可以更好地控制发布的每条消息。 (例如用户头像,表情符号,删除单个邮件的能力等)以前我只是使用带有UIScrollbar的动态文本区域,它工作得很好,但是不允许对邮件内容进行足够的自定义或控制。

这是我目前的设置;

我在舞台上的Flash Pro中创建了一个名为“msgAreaPane”的Scrollpane。 当客户端加载它时,它会创建一个名为“msgAreaContainer”的Movieclip,并将msgAreaPane源设置为msgAreaContainer。 当要显示一条消息时,它会从库中创建一个新的“msgElement”对象实例,并将其添加为msgAreaContainer的子代。

所有这一切都很好。但事实是,我不能使用UIScrollbar(据我所知)正确地自动滚动msgAreaPane滚动窗格,因为它没有'maxScrollV'等属性差异。

所以基本上我需要知道我需要改变什么,或者我是否采取了错误的方式。不确定我是否应该尝试滚动msgAreaContainer或msgAreaPane的内容,或者我是否应该以不同方式设置它。

我已经尝试过操纵Scrollpane的verticalscrollposition,但似乎无法让它做任何事情。我一直在努力解决这个问题大约2天,并且非常需要一些帮助或建议。提前感谢任何愿意提供帮助的人。

1 个答案:

答案 0 :(得分:2)

别介意所有人,在我睡了2天之后,我终于明白了自己。我会在这里给别人留下答案,因为我确信我不是唯一一个曾经或将会遇到这个问题的人。 Adobe应该真正更好地记录对象元素属性。无论如何,这是你如何做到的。

msgAreaPane.update();
msgAreaPane.verticalScrollPosition = msgAreaPane.maxVerticalScrollPosition;

如果您仍然遇到即时问题,请通过为新的子元素添加addedToStage事件侦听器来确保动态内容已完全加载。