首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

flex中怎么实现图片沿折线移动

2012-02-11 
flex中如何实现图片沿折线移动以下是我的思路,但是却出现了如下了问题:我使用flex中的sequence来实现顺序

flex中如何实现图片沿折线移动
以下是我的思路,但是却出现了如下了问题:

我使用flex中的sequence来实现顺序效果播放,主要想实现将一张图片从A点移动到B点,再从B移动到C,以此类推。我采用move来实现移动效果,先写个mymove类继承move,在构造函数中设置好move的属性,再利用循环创建mymove对象并给各个属性设置值,并将mymove对象添加到sequence中,最后播放sequence中各个动画大的效果,结果出乎意料的是,根本没反应,一下是代码,请各位达人帮忙解决 
mymove类 

Java code
package{    import flash.geom.Point;        import mx.effects.Move;        public class Mymove extends Move    {                public function Mymove(p1:Point,p2:Point,target:Object)        {                        var move:Move=new Move(target);            move.xFrom=p1.x;move.yFrom=p1.y;            move.xTo=p2.x;move.yTo=p2.y;            //move.play();            move.duration=2000;        }            }}


主程序代码: 
Java code
<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()">    <mx:Script>        <![CDATA[                        import mx.effects.Sequence;                        internal function initApp():void{                var i:int;                var mymove:Mymove;                var p1:Point,p2:Point;                var points:Array=new Array(                new Point(0,0),new Point(0,50),                new Point(50,50),new Point(50,100),                new Point(100,100),new Point(100,50));                for(i=0;i<5;i++){                    p1=points[i];p2=points[i+1];                    mymove=new Mymove(p1,p2,img);                    sequence.addChild(mymove);                                    }                sequence.play();            }            ]]>    </mx:Script>            <mx:Sequence id="sequence">    </mx:Sequence>    <mx:Image id="img" source="add_reviewer.gif">            </mx:Image>    <mx:Button x="212" y="297" label="Button" id="btn" click="btn.label=sequence.children.length.toString();"/></mx:Application>


[解决办法]
看下myMove的构造函数。
public function Mymove(p1:Point,p2:Point,target:Object)
{

this.xFrom=p1.x;this.yFrom=p1.y;
this.xTo=p2.x;this.yTo=p2.y;
//move.play();
this.duration=2000;
}

热点排行