我需要动画2个画布之间的拉布勒运动之间的油画......软硬度:移动几个UI元素
代码的MXML例子是:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="main()" frameRate="1">
<mx:Script>
<![CDATA[
import mx.controls.Label;
public function main():void
{
onEnd();
}
private function onEnd():void
{
(canv1.getChildAt(0) as Label).move(canv2.x, canv2.y);
}
]]>
</mx:Script>
<mx:Panel x="208" y="0" width="190" height="200" layout="absolute" title="Panel2" id="d">
</mx:Panel>
<mx:Panel width="200" height="200" id="c" title="Panel 1">
<mx:Canvas width="135" height="56" id="canv1" label="c1" themeColor="#79B4DA" backgroundColor="#65D565">
<mx:Label text="Move me after event" y="10"/>
</mx:Canvas>
<mx:Canvas width="135" height="79" id="canv2" label="C2" backgroundColor="#E4CACA">
</mx:Canvas>
</mx:Panel>
</mx:Application>
目前的问题是,标签实际上不会留下第一个画布的边框(我看到的是滚动条而不是它)。 我认为这与globalToLocal转换问题有关,但不明白如何使用它。
另一个问题是如何正确地动画运动,因为移动功能在没有任何可见动作的情况下执行运动。 (该运动无缝地发生)。
我不太清楚你的意思。如果您试图将标签从canv1移动到canv2,那么您会错误地采用这种方法。 move()方法仅将DisplayObject移动到其父级中的位置。你要告诉它要做的是将标签移动到canv2的x,y坐标,它们与面板1(canv2的父亲)相关。 – Robusto 2010-03-01 20:53:48