그래서 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 = [[0000000 ...]]
내가 말했듯이 나는 여기서 간단한 것을 놓치고 있을지 모르지만 나는 무엇을 모르고있다. 아직도 명확하지 않은 경우 알려주십시오. 더 설명하겠습니다. 고마워. 원래 --scratching
배열을 사용하고 있습니까? 클릭 수에 따라 각 int 값을 높이거나 낮출 수는 없습니까? 타일의 위치가 고정되어 있고 절대적입니까? 만약 그렇다면 왜 각자 신중한 ID를 주면 클릭 할 때마다 그 int를 반환할까요 – MaxG
배열에 추적 결과 (_map)를 사용할 것이기 때문에 배열이 필요하다고 생각합니다. –