private var previousClick = null;
public static var floor1:Array = new Array();
floor1[0] = [2,1,1,1,1,1,2];
floor1[1] = [1,1,1,1,1,1,1];
floor1[2] = [1,1,1,2,1,1,1];
floor1[3] = [1,1,1,1,1,1,1];
floor1[4] = [1,1,1,2,1,1,1];
floor1[5] = [1,1,1,1,1,1,1];
floor1[6] = [2,1,1,1,1,1,2];
public function Main()
{
var tilew:int = 60;
var tileh:int = 60;
for (var i:int=0; i<floor1.length; i++)
{
for (var u:int=0; u<floor1[i].length; u++)
{
var cell:MovieClip = new Tile();
cell.gotoAndStop(floor1[i][u]);
cell.x = ((u-i)*tileh)+365;
cell.y = ((u+i)*tileh/2)+70;
addChild(cell);
cell.addEventListener(MouseEvent.CLICK, mouseclick);
}
}
function mouseclick(event:MouseEvent)
{
(event.currentTarget as Tile).outline.gotoAndStop("active");
event.currentTarget.cellSelected = true;
event.currentTarget.removeEventListener(MouseEvent.CLICK,mouseclick);
if (previousClick !== null){
(previousClick as Tile).outline.gotoAndStop(1);
event.currentTarget.cellSelected = false;
previousClick.addEventListener(MouseEvent.CLICK,mouseclick);
trace(previousClick);
}
previousClick = event.currentTarget;
previousClick.cellSelected = true;
}
Итак, у меня есть плитки, называемые ячейками, выстроенные в линию друг к другу, чтобы получился пол. Когда вы щелкаете ячейку, контур этой плитки светится, показывая, что она в данный момент выделена. Я также создал логическое значение, которое проверяет, выбрана ли текущая плитка. Проблема в том, что логическое значение возвращает true плитке, которую я щелкнул, но не выбранной в данный момент, особенно первой плитке, которую я щелкнул при запуске игры.
Итак, мой вопрос: как я могу получить плитку, которую я щелкнул, которая в данный момент не выбрана, чтобы не равняться истине?