问题描述
|
我的问题的答案可能很简单,但我尚未在网络上找到解决该问题的示例,也未找到阅读ActionScript参考的解决方案。
我的问题如下:我在Scroller(spark.components.Scroller)窗口中有一个很大的UIComponent派生元素。 Scroller类之所以出色,是因为当我的画布元素动态改变大小,超出其边界时,滚动条会自动出现并处理其中的UIComponent的滚动。
但是,我不仅希望能够使用这些自动显示的滚动条进行滚动,而且还希望使用我自己实现的平移工具(例如,类似于Adobe软件中的手动工具)。问题是我无法正确修改Scroller窗口中元素的位置。
作为第一种方法,我尝试访问元素的\'x'和\'y \'属性,但是,在更改它们时,我没有得到想要的结果。它的代码如下(出于简化的原因,在其中,我将文本标签用作我的“ inside \”元素,并使用两个按钮作为外部滚动控制器,而不是手动工具)
Tests.mxml
<fx:Script>
<![CDATA[
protected function der_clickHandler(event:MouseEvent):void
{
text.x += 5;
}
protected function izq_clickHandler(event:MouseEvent):void
{
text.x -= 5;
}
]]>
</fx:Script>
<fx:Declarations>
</fx:Declarations>
<s:Scroller id=\"sc\" x=\"50\" y=\"50\" width=\"200\" height=\"100\">
<s:Group width=\"100%\" height=\"100%\">
<s:Label id=\"text\" width=\"400\" height=\"10\" x=\"50\" y=\"50\" text=\"blebleblebleblebleblebleblebleblebleblebleble\"/>
</s:Group>
</s:Scroller>
<s:Button id=\"der\" x=\"154\" y=\"182\" label=\"->\" click=\"der_clickHandler(event)\"/>
<s:Button id=\"izq\" x=\"76\" y=\"182\" label=\"<-\" click=\"izq_clickHandler(event)\"/>
</s:Application>
以及指向编译版本的链接,以了解我在说什么:
http://megaswf.com/file/1135821
(如果看不到,请按“全屏查看”)
非常感谢您的帮助,因为整个下午我都被困住了,我的项目真的需要它:S
无论如何,在此先多谢和问候!
解决方法
我设法解决了! (这是本周第二次在这里发布内容之后我解决了一些问题:D)。
我必须更改的属性是sc.viewport.horizontalScrollPosition + = 5;而不是内部元素的“ x”位置。与垂直位置相同。