0

だから私は単純なマップエディタとして2次元配列を手に入れました。
マップのすべてのタイル/セルには、デフォルトとして 0 の値があり、mouseClick イベント リスナーがあります。

        for (var i:int =0; i < _numRow; i++)
        {
            _map[i] = new Array  ;
            for (var j:int = 0; j< _numCol; j++)
            {
                //I removed some content
                _tile.val = 0;
                _tile.addEventListener(MouseEvent.CLICK,onMouseClick);

                addChild(_tile);
                _map[i][j] = _tile.val;

            }
        }

編集:タイル/セルをクリックすると、これが発生します。問題がコメントされました。

private function onMouseClick(e:MouseEvent)
    {

        if (e.currentTarget.val == 0)
        {
            e.currentTarget.val = 1;
            trace(e.currentTarget.val); // trace the output I want, which is 1 of each tile I clicked.     

            e.currentTarget.transform.colorTransform = new ColorTransform(1,0,0);
            trace(_map[0]); // now I check here if _map will be change since _map[x][x] = _tile.val, it should output the change I made above. Like [[1,1,1,0,1,0...]]
        }

しかし、出力は変更されませんでした。_map is still = [[0,0,0,0,0,0,0...]]
私が言ったように、ここで単純なものが欠けているかもしれませんが、何がわかりません。これでもはっきりしない場合は、教えてください。さらに説明します。みんなありがとう。

4

1 に答える 1