![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2012
Сообщений: 204
|
Добрый вечер.
Что то я совсем запутался в методе splice. ситуация такая: Есть 6 элементов в массиве. Каждый по отдельности анимируется и в какой то момент 1 элемент уходит из ряда. Идет смещение всех элементов что находятся справа, а далее тот элемент который пропал появляется в конце ряда справа. С этой частью никаких проблем, но вот далее мне необходимо обновить последовательность этих элементов, чтобы в массиве они стояли также как слева направо после перестановки. Как я понимаю, это делается через splice var ran:int = randomRange(4, 0); ballArr[ran].hide(); TweenLite.to(ballArr[ran], 0, { overwrite:false, delay:2, x:posArr[5]} ) for (var i:int = ran + 1; i < ballArr.length; i++) { TweenLite.to(ballArr[i], 1, {x:posArr[i - 1]}); } // тут все в порядке, все встает на нужные места //далее делим массив ballArr var splicedAlone:Array = ballArr.splice(ran, 1); //тот что пропадает var spliced:Array = ballArr.splice(ran + 1, ballArr.length); //те что были справа от изчезнущего trace ("ballArr "+ballArr +"dlina "+ballArr.length); //ballArr [object Ball]dlina 1 trace ("alone "+splicedAlone+"dlina "+splicedAlone.length); //alone [object Ball]dlina 1 trace ("ostatok " + spliced + "dlina " + spliced.length); //ostatok [object Ball],[object Ball],[object Ball],[object Ball]dlina 4 ballArr.splice(ballArr.length-1, 0, spliced); // пытаюсь добавить те что были справа ballArr.splice(ballArr.length-1, 0, splicedAlone); //тот что изчезал trace ("ballArr "+ballArr +"dlina "+ballArr.length); // ballArr [object Ball],[object Ball],[object Ball],[object Ball],[object Ball],[object Ball],[object Ball],[object Ball],[object Ball]dlina 3 trace ("alone "+splicedAlone+"dlina "+splicedAlone.length); //alone [object Ball]dlina 1 trace ("ostatok " + spliced + "dlina " + spliced.length);//ostatok [object Ball],[object Ball],[object Ball],[object Ball]dlina 4 Кстати даже если получилось бы соединить 2 массива, колличество элементов не было бы нужным мне. Их по прежнему должно быть 6, но если например разрезали на 3 х 1 х 2, то новый массив будет из 5 элементов 3+1+1. Как мне решить эту задачку? Добавлено через 37 минут Вопрос решил таким способом Последний раз редактировалось pomuс; 28.03.2013 в 00:07. |
![]() |
Часовой пояс GMT +4, время: 17:22. |
|
|
« Предыдущая тема | Следующая тема » |
|
|