<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" xmlns:utils="utils.*"
viewSourceURL="srcview/index.html"
width="300" height="230">
<fx:Script>
<![CDATA[
import utils.AnimationEvent;
[Bindable]private var startPoint:Point = new Point(0, 0);
[Bindable]private var endPoint:Point = new Point(200, 200);
private function updateHandler(event:AnimationEvent):void
{
var point:Point = event.animation.currentValue["location"];
button.x = point.x;
button.y = point.y;
}
]]>
</fx:Script>
<fx:Declarations>
<utils:AnimationTargetDispatcher id="animTarget"
update="updateHandler(event)"/>
<utils:PointInterpolator id="pointInterpolator"/>
<s:Animation id="anim" duration="500"
repeatBehavior="reverse" repeatCount="0"
animationTarget="{animTarget}"
interpolator="{pointInterpolator}">
<s:SimpleMotionPath property="location"
valueFrom="{startPoint}" valueTo="{endPoint}"/>
</s:Animation>
</fx:Declarations>
<s:Button id="button" label="Move Me" click="anim.play()"/>
</s:Application>