I am trying to animate the drawing of a few lines. I want a verticle line do draw slowly, the when it is complete, a horizontal line and when that has finished, 3 more verticle lines. The problem I am having is drawing the 3 verticle lines all at once. whould I need 3 seperate sprites for this?
Here is the code if you want to take a look. The problem is in the function doDrawLineSegment3. I hope it is not too messy.
function drawTheLines():void
{
lineStartPointX = (mcPotus.x + (mcPotus.width/2));
lineStartPointY = (mcPotus.y + (mcPotus.height));
incLineSegment = lineStartPointY;
removeChild(getChildByName("mcCover"));
var lineDrawing:Sprite = new Sprite();
this.addChild(lineDrawing);
lineDrawing.graphics.lineStyle(5);
lineDrawing.graphics.moveTo(lineStartPointX,lineStartPointY);///This is where we start drawing the first line.
stage.addEventListener(Event.ENTER_FRAME, doDrawLineSegment1);
function doDrawLineSegment1(evt:Event):void
{
delayForStart++;
if (delayForStart > 17)
{
incLineSegment += 8;
lineDrawing.graphics.lineTo(lineStartPointX, incLineSegment);
if (incLineSegment>160)
{
lineStartPointY = incLineSegment;
incLineSegment = lineStartPointX;
incLineSegmentMinus = lineStartPointX;
stage.removeEventListener(Event.ENTER_FRAME, doDrawLineSegment1);
delayForStart=0;
stage.addEventListener(Event.ENTER_FRAME, doDrawLineSegment2);
}
}
function doDrawLineSegment2(evt:Event):void
{
incLineSegment += 8;
incLineSegmentMinus -=4.2;
lineDrawing.graphics.lineTo(incLineSegment,lineStartPointY);
lineDrawing.graphics.lineTo(incLineSegmentMinus,lineStartPointY);
if(incLineSegment>700)
{
trace(lineStartPointY);
lineStartPointX = incLineSegmentMinus;
incLineSegment = lineStartPointY;
incLineSegmentMinus = lineStartPointX;
stage.removeEventListener(Event.ENTER_FRAME, doDrawLineSegment2);
stage.addEventListener(Event.ENTER_FRAME, doDrawLineSegment3);
}
}
function doDrawLineSegment3(evt:Event):void
{
incLineSegment += 8;
incLineSegmentMinus -=4.2;
lineDrawing.graphics.lineTo(lineStartPointX, incLineSegment);
//lineDrawing.graphics.lineTo(lineStartPointY, incLineSegment);
if(incLineSegment>190)
{
lineDrawing.graphics.moveTo(705,166);
lineStartPointX = 705;
//lineStartPointY = incLineSegment;
//incLineSegment = lineStartPointX;
//incLineSegmentMinus = lineStartPointX;
//stage.removeEventListener(Event.ENTER_FRAME, doDrawLineSegment3);
//stage.addEventListener(Event.ENTER_FRAME, doDrawLineSegment3);
}
}
}
}