我的问题的答案可能很简单,但我还没有在网络上找到解决它的示例,也没有找到阅读 ActionScript 参考的解决方案。
我的问题如下:我在 Scroller (spark.components.Scroller) 窗口中有一个很大的 UIComponent 派生元素。Scroller 类很棒,因为当动态改变大小的画布元素超出其边界时,滚动条会自动出现并在其中处理我的 UIComponent 的滚动。
但是,我不仅希望能够使用这些自动出现的滚动条进行滚动,还希望能够使用我自己实现的平移工具(例如,类似于 Adobe 软件中的手动工具)。问题是我无法正确修改元素在 Scroller 窗口内的位置。
作为第一种方法,我尝试访问我的元素的“x”和“y”属性,但是,在更改它们时,我没有得到想要的结果。它的代码如下(为了简单起见,我使用一个文本标签作为我的“内部”元素,并使用两个按钮作为外部滚动控制器,而不是手动工具)
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
无论如何,提前非常感谢,问候!