将矩形变成梯形

参看下面的代码:

package{
    import flash.display.Sprite;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    import flash.events.Event;
    import flash.geom.Point;
   
    public class RectangleAnimation extends Sprite{
       
        private var rec:Sprite
       
        private var pointA:Point;
        private var pointB:Point;
        private var pointC:Point;
        private var pointD:Point;
       
        private var speed:int = 2;
       
        function RectangleAnimation(){
            stage.align = StageAlign.TOP_LEFT;
            stage.scaleMode = StageScaleMode.NO_SCALE;
           
            init();
            drawRec();
        }
       
        private function init():void{
            rec = new Sprite();
            rec.x = 100;
            rec.y = 100;
            rec.addEventListener(Event.ENTER_FRAME, onUpdateRec);
            addChild(rec);
           
            pointA = new Point(0,0);
            pointB = new Point(400, 0);
            pointC = new Point(400, 200);
            pointD = new Point(0, 200);
        }
       
       
        private function drawRec():void{
            rec.graphics.clear();
            rec.graphics.moveTo(pointA.x, pointA.y);
            rec.graphics.lineStyle(0, 0, 1);
           
            rec.graphics.lineTo(pointB.x, pointB.y);
            rec.graphics.lineTo(pointC.x, pointC.y);
            rec.graphics.lineTo(pointD.x, pointD.y);
            rec.graphics.lineTo(pointA.x, pointA.y);
        }
       
       
        private function onUpdateRec(evt:Event):void{
            pointA.x += speed;
            pointB.x += -speed;
            drawRec();
           
            if (pointA.x >100 || pointA.x < (-50)){       
                speed *= -1;
            }
        }
       
    }
}

你可能感兴趣的:(将矩形变成梯形)