¿Por qué cuando actualizo una matriz de 2 dimensiones da un "Error # 1010"

En mi clase de programación

Necesito crear un juego de Tiles con AS3 (como zelda).

En un mapa, los mosaicos se inicializan en negro en una matriz y, después de eso, cambian aleatoriamente cada vez que la selección izquierda de una canción alcanza un cierto valor.

Cuando cambian los mosaicos, necesito actualizar la matriz con el nuevo valor. En realidad, siempre recibo un error # 1010: un término no está definido y no tiene propiedades.

Así es como se inicializan los mosaicos:

variable

    private var grid: MovieClip;
    private var nbRow: int = 6; 
    private var nbCol: int = 12; 
    private var oneTiles: Tiles;
    private var t: Tiles;

    public var tMap: Array = [
        [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
        [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
        [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
        [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
        [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
        [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
    ];

Creación del mapa.

     private function createGrid(): void {
          grid = new MovieClip();
          addChild(grid);

          for (var r: int = 0; r < nbRow; r++) {
               for (var c: int = 0; c < nbCol; c++) {
                   t = new Tiles();
                   t.x = t.width * c;
                   t.y = t.height * r;
                   grid.addChild(t);
               }
         }
     }

Set Tiles

    private function displayTiles(): void {
        var i: int = 0;
        for (var r: int = 0; r < nbRow; r++) {
            for (var c: int = 0; c < nbCol; c++) {
                var t: Tiles;
                t = Tiles(grid.getChildAt(i));
                t.gotoAndStop(tMap[r][c]);
                i++;
            }
        }
    }

Esta es la función llamada cada vez que el pico izquierdo alcanza el valor

    private function resetTiles(): void {
        for (var i: int = 0; i < grid.numChildren; i++) {
            oneTiles = grid.getChildAt(i) as Tiles;

            oneTiles.getTiles();
            //30% chance gotoAndStop(1) black tiles
            //70% chance gotoAndStop(2) white tiles
       }
    }

Esta es la fuente del problema: para actualizar la matriz, agregué esto en el bucle for de resetTiles (). Con eso, siempre recibo unError # 1010: un término no está definido y no tiene propiedades. :

            private var posX: uint = 0; //global
            private var posY: uint = 0; //global

            tMap[posX][posY] = oneTiles.getFrame();

            if(posX == 11 && posY != 5){
                posX = 0;
                posY++;
            }else if(posX == 11 && posY == 5){
                posX = 0;
                posY = 0;
            }else{
                posX++;
            }
            trace(posX);
            trace(posY);

        }
Entonces, ¿dónde está el problema? Normalmente, con este código, cada vez que se cambia un mosaico, se actualizará el mosaico correcto en tMap.Hice algunas pruebas, y lo que parece ser la fuente del problema es la líneatMap [posX] [posY] = oneTiles.getFrame (); Aún así, no puedo entender por qué
public function getFrame():void{
            this.currentFrame;
    }

Respuestas a la pregunta(1)

Su respuesta a la pregunta