Skip navigation
A.Liebscher
Currently Being Moderated

Is this efficient code?

Jan 18, 2012 9:12 PM

Tags: #as3 #new #library #array #add #var #addchild #mc

Hi, I have some code here, works fine and everything, but I was just wondering if this code is an efficient way to add an object onto the screen. I just have mc's come on depending the amount in varFromAnotherFrame. Is there a better way to do this?

 

var someArray:Array = new Array();

for (var i:Number = 0;  i < varFromAnotherFrame; i++)
{
if (someArray.length < 6)
{
  var newMc:libraryMc = new libraryMc();

  someArray[i] = newMc;
  addChild(newMc);
  newMc.x = -295 + (someArray.length * 80);
  newMc.y = -10;
}
else if (someArray.length > 5 && someArray.length < 12)
{
  var newMc2:secondLibraryItem = new sisecondLibraryItem();
  someArray[i] = newMc2;
  addChild(newMc2);
  newMc2.x = -775 + (someArray.length * 80);
  newMc2.y = -0;
}
}

 

Thanks Alex

 
Replies
  • kglad
    62,035 posts
    Jul 21, 2002
    Currently Being Moderated
    Jan 18, 2012 10:18 PM   in reply to A.Liebscher

    that could be more transparent (ie, easier to understand) and efficient:

     

     

    var someArray:Array = new Array();

    for (var i:Number = 0;  i < Math.min(12,varFromAnotherFrame); i++)
    {
    if (i < 6)
    {
      var newMc:libraryMc = new libraryMc();

      someArray.push(newMc);
      addChild(newMc);
      newMc.x = -295 + (someArray.length * 80);
      newMc.y = -10;
    }
    else
    {
      var newMc2:secondLibraryItem = new sisecondLibraryItem();
      someArray.push(newMc2);
      addChild(newMc2);
      newMc2.x = -775 + (someArray.length * 80);
      newMc2.y = -0;
    }
    }

     

     

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points