Error #1010 in referencing items in an array
So, when I try to move my "stars" I get a 1010 error. when I try to loop a singular item, it works, but dynamically... it's a different story.
Using FlashDevelop.
main()
Actionscript Code:
package
{
import com.gfx.mainContainer;
import flash.display.MovieClip;
import flash.display.Sprite;
import com.gfx.sprites.Ship;
[SWF(width = '300', height = '400', backgroundColor = '#000000', frameRate = '30')]
public class Main extends mainContainer
{
}
}
mainContainer()
Actionscript Code:
package com.gfx
{
import flash.display.MovieClip;
import flash.display.Sprite;
import com.gfx.sprites.smlStar;
import com.gfx.sprites.medStar;
import com.gfx.sprites.lrgStar;
import flash.events.Event;
public class mainContainer extends MovieClip
{
public var stWidth:Number = root.stage.stageWidth;
public var stHeight:Number = root.stage.stageHeight;
public var starArray:Array = new Array();
public function mainContainer()
{
var starContainer:MovieClip = new MovieClip;
addChild(starContainer);
popStars();
trace(starArray.length)
super();
function moveStars(event:Event):void
{
var i:Number = 0;
var starCount:Number = starArray.length;
while (i <= starCount)
{
starArray[i].y = starArray[i].y++;
i++
}
}
function popStars():void
{
var str_xPos:Number;
var str_yPos:Number;
var i:Number = 0;
while (i <= 75)
{
var SmlStar:smlStar = new smlStar();
var MedStar:medStar = new medStar();
var LrgStar:lrgStar = new lrgStar();
if (i <= 25)
{
starContainer.addChild(SmlStar);
starArray.push(SmlStar);
rndPos();
starArray[i].x = str_xPos;
starArray[i].y = str_yPos;
trace(starArray[i].x, starArray[i].y);
i++
}
else if (i <= 50)
{
starContainer.addChild(MedStar);
starArray.push(MedStar);
rndPos();
starArray[i].x = str_xPos;
starArray[i].y = str_yPos;
trace(starArray[i].x, starArray[i].y);
i++
}
else if (i >= 50)
{
starContainer.addChild(LrgStar);
starArray.push(LrgStar);
rndPos();
starArray[i].x = str_xPos;
starArray[i].y = str_yPos;
trace(starArray[i].x, starArray[i].y);
i++
}
function rndPos():void
{
var tempX:Number = stWidth - starArray[i].width;
var tempY:Number = stHeight - starArray[i].height;
str_xPos = Math.floor(Math.random()*(stWidth + 1));
str_yPos = Math.floor(Math.random() * (stHeight + 1));
if (str_xPos <= 0)
{
str_xPos = 0;
}
else if (str_xPos >= tempX)
{
str_xPos = tempX;
}
else if (str_yPos <= 0)
{
str_yPos = 0;
}
else if (str_yPos >= tempY)
{
str_xPos = tempY;
}
}
}
starContainer.addEventListener(Event.ENTER_FRAME, moveStars);
trace(starArray, i);
}
}
}
}
Any thoughts?
I can trace starArray, but I can't loop to each individual element and move it.