init(s)


    private function init():void
    {
     stage.scaleMode = StageScaleMode.NO_SCALE;
     stage.align = StageAlign.TOP_LEFT;
     
     segment0 = new animation_ch13_Segment(100, 30);
     addChild(segment0);
     segment0.x = 200;
     segment0.y = 100;
     
     segment1 = new animation_ch13_Segment(100, 20);
     addChild(segment1);
     segment1.x = segment0.getPin().x;
     segment1.y = segment0.getPin().y;
     
     segment2 = new animation_ch13_Segment(100, 30);
     addChild(segment2);
     segment2.x = 200;
     segment2.y = 100;
     
     segment3 = new animation_ch13_Segment(100, 20);
     addChild(segment3);
     segment3.x = segment2.getPin().x;
     segment3.y = segment2.getPin().y;
     
     addEventListener(Event.ENTER_FRAME, onEnterFrame);
    }
   

frame(s)


    private function onEnterFrame(event:Event):void
    {
     walk(segment0, segment1, cycle);
     walk(segment2, segment3, cycle + Math.PI);
     cycle += .05;
    }
    
    private function walk(segA:animation_ch13_Segment, segB:animation_ch13_Segment, cyc:Number):void
    {
     var angleA:Number = Math.sin(cyc) * 45 + 90;
     var angleB:Number = Math.sin(cyc + offset) * 45 + 45;
     segA.rotation = angleA;
     segB.rotation = segA.rotation + angleB;
     segB.x = segA.getPin().x;
     segB.y = segA.getPin().y;
    }
  
   }
  }