имеется класс в котором существуют такие функции

Код AS3:
package main
{
//Класс карты проходимости
//
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.geom.Matrix;
import Framework.cache.*;
public class Map extends Sprite
{
public function Map(tidlNumber:int, tidlWidth:int, tidlHeight:int)
{
clearMapMask();
trace(getCellState(1, 1)); //0
}
public function getCellState(i:int, j:int):int
{
// Проверка на выход за приделы массива
if (i >= 0 && i < _tidlNumber && j >= 0 && j < _tidlNumber)
{
return _mapMask[i][j];
}
else
{
return STATE_CELL_BUSY;
}
}
private function clearMapMask():void
{
// Создаем новый массив
_mapMask = [];
// Двигаемся по высоте карты
for (var ay:int = 0; ay < _tidlNumber; ay++)
{
// Добавляем новую строку в массив
_mapMask[ay] = [];
// Двигаемся по ширине карты
for (var ax:int = 0; ax < _tidlNumber; ax++)
{
// Задаем ячеке свободное состояние
_mapMask[ay][ax] = "tidl_mc";
}
}
}
}
почему trace(getCellState(1, 1)); который находится в конструкторе класса, показывает значение 0? хотя в функции clearMapMask() массиву _mapMask я присваиваю значение tidl_mc";, а вот что самое интересно если вместо tidl_mc"; я присвою любую из цифр например 2 то двойку трейс показывает.