var MapBtnArray:Array = [];
var MapBtnSprite:Sprite;
var i:int;
var j:int;
gogo();
function gogo():void
{
while (MapBtnArray.length < 10)
{
MapBtnSprite = new Sprite();
MapBtnSprite.graphics.lineStyle(1,0x000000);
MapBtnSprite.graphics.beginFill(0xFFFFFF);
MapBtnSprite.alpha = 0.5;
MapBtnArray.push(MapBtnSprite);
}
MapBtnArray[0].graphics.drawRect(17,125, 90,140);
MapBtnArray[1].graphics.drawRect(145,98, 63.5,90);
MapBtnArray[2].graphics.drawRect(145,200, 63.5,90);
MapBtnArray[3].graphics.drawRect(210,200, 85,62);
MapBtnArray[4].graphics.drawRect(308,200, 87,62);
MapBtnArray[5].graphics.drawRect(397,200, 63.5,90);
MapBtnArray[6].graphics.drawRect(497,125, 90,140);
MapBtnArray[7].graphics.drawRect(397,98, 63.5,90);
MapBtnArray[8].graphics.drawRect(370,155, 25,32);
MapBtnArray[9].graphics.drawRect(342,155, 25,32);
for (i= 0; i < MapBtnArray.length; i++)
{
addChild(MapBtnArray*);
}
for (i = 0; i < MapBtnArray.length; i++)
{
MapBtnArray*.buttonMode = true;
MapBtnArray*.addEventListener(MouseEvent.CLICK,roomClicked);
}
}
function roomClicked (e:MouseEvent) :void
{
j = MapBtnArray.indexOf (e.currentTarget);
createLocator();
}
function createLocator():void
{
trace (j);
trace (MapBtnArray[j].x);
}
I’m using to code above to create several sprite on the stage, but when I click on the sprite, the index of each trace work just fine (output of J is according to the target i click); however MapBtnArray[j].x keep equals to “0”
can someone tell me why? I want the coordinate of the sprite on stage, how come what i get is “0” instead?