我需要動畫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