Показать сообщение отдельно
Старый 15.09.2016, 13:31
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 11  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
Цитата:
А вот это что за фигня?
Там смысл такой:
Юзер тащит кусок пазла из n кусочков (массив sel_group)
этот массив кешируется в old_group
Дальше после отпускания группы, она может слипнуться с другой группой кусков(т.е. в sel_group добавятся еще куски из присоединенной группы) и код
Код AS3:
for (i = 0; i < sel_group.length; i++)
	sel_group[i].checked = false;
// mark dropped pieces
for (i = 0; i < old_group.length; i++) 
	sel_group[i].checked = true;
сначала выставляет false всем кускам новой объединенной группе и потом у той группы, что юзер отпустил выставляется true.Т.е. false остается у кусков, которые присоединились к группе после отпускания мыша.Дальше эти свежеприсоединенные куски выравниваются относительно отпущенной группы.Я знаю это достаточно костыльно, но зато не надо лишний раз дергать рекурсивную функцию getConnected
Цитата:
И зачем его удалть откуда-то, а потом снова добавлять? Метод addChild уже и так подразумевает удаление из любого другого контейнера
А потому что были замечены артефакты в виде непонятных черных прямоугольников на месте откуда DO по идеи должен был удалиться бы.Ручное удаление исправило это.Лишнее усливие надо удалить.
Вообщем еще раз повторяю этот код выполняется от начала и до конца т.к. последняя строка
Код AS3:
LoggerBox.addLog("onMU log 6");
Не зависит ни от каких условий и исполняется, значит и все что выше тоже исполняется без косяков.
Цитата:
Выглядело так, словно любой рандомный блок кода генерировал исключение в любом месте выполнения программы.
А тут как раз всегда один и тот же метод и один и тот же эрор.Вообщем хз,видимо придется смириться.