![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2006
Сообщений: 111
|
В общем вопрос в чем, нужно по ранее пропсанному закону сортировать массив, например как, последний эллемент поставить на первое место а все оставшиеся сместятся и предпоследний станет последним, это в одну сторону, а в другую чтобы первый елемент становился на последнее место и аналогичным образом все сортировалось как и в первом примере.
Еще Вопрос, когда мы програмным образом переносим елемент массива с одного места на другой его же удалять с предыдущего места ненужно? В общем я пропишу функцию по каторой будет определяться, как и в какой момент пересортировывать массив, я просто хочю как можно грамотрее прописать, прошу помочь мне разобраться как это сделать. Спасибо! |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 430
|
Посмотрите справку по массивам.
__________________
Лучше спросить и выставить себя дураком на пять минут, чем не спросить и остаться дураком на всю жизнь. |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 111
|
Ну да я обязательно это все просмотрю, все по потребности, встретился с проблемой разберись в корне, это все понятно, спасибо за ссыль. Мне прост осрочно нужно, читать разбираться на этой неделе у меня просто нет времени, поэтому прошу дать талчек, я бы просто понял какое поле иследовать в массивах, а современенм просто детально изучю все...
|
|
|||||
|
Регистрация: Nov 2010
Сообщений: 430
|
На неделе? ) Да у вас менее пары часов уйдет на изучение.
Все достаточно просто, смотрите: push(... args):uint Добавляет один или несколько элементов в конец массива и возвращает новую длину массива. unshift(... args):uint Добавляет один или несколько элементов в начало массива и возвращает новую длину массива. pop():* Удаляет последний элемент из массива и возвращает значение этого элемента. shift():* Удаляет первый элемент из массива и возвращает этот элемент. Комбинируя, можно получить что-то вроде:
__________________
Лучше спросить и выставить себя дураком на пять минут, чем не спросить и остаться дураком на всю жизнь. |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 111
|
Я к таму, что это не единственная проблема и отвлекаться на изучение и создании, обдумывание более и менее подходящего алгоритма нет времени, вот вы бонально обьяснили в принципи простейшую вещь и я понял её принцип работы, на что спасибо, теперь я съэкономлю кое какое время. просто в сутках времени на работу во влеше у меня не так много, а работу нужно сделать в ближайшие сроки. 2 часа в день с нормальном случае а иногда так вообще нет времени...
Спасибо! Если есть у когото конкретные идеи или вопроссы, буду рад увидеть в этой теме) Добавлено через 41 минуту В таком случае решил задать вопросс поконкретнее. Ниже есть тема по созданию галереи. Вот встретившись с рядом проблем, решил создать тему отдельную про массивы, заодно изучить поглубже этот вопрос. Что, хочю сделать, алгаритм таков: Отследить координаты первой картинки в массиве, если они привешают половины его ширины по ИКСУ, тогда на первый элемент массвива переноситься последний элемент, а первый уже становиться вторым и возвращаем новую длину, ну и так долее до бесконечности. Также с другой стороны, если последний елемент массива имеет координаты меньшечем длины флешки минус половина ширины картинки, значит уже первый элемент становиться последним, а последний предпоследним и т.д. Вопросс в чем, подайдет ли такой алгоритм или как можно отследить другими способами или как лучше былобы отследить... Просто так сказать совет. Спасибо |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 430
|
Возможно вам достаточно будет менять порядок отображения без «сортировки» массива.
С помощью setChildIndex. А отдельные вопросы лучше оформлять в новой теме ![]()
__________________
Лучше спросить и выставить себя дураком на пять минут, чем не спросить и остаться дураком на всю жизнь. |
|
|||||
|
Регистрация: Sep 2006
Сообщений: 111
|
Я сделал так: Описание: Если первая картинка превышает изночальные координаты по X тогда последняя картинка становиться за ней и она же становиться первым элементом массива так как первый элемент становиться вторым после него. Второй аргумент обратный т.е. если же последняя картинкаи имеет координату X меньше чем длина флешки минус половина её ширины т.е. если бы она была вся видна но не более того. тогда происходит обратный проццес
if(Array[0].x>=Array[0].width/2) { Array[n].x=Array[0].x-(Array[0].x+Array[n].x)/2; Array.unshift(Array.pop()); } if(Array[n].x<=stage.stageWidth-Array[n].width/2) { Array[0].x=Array[n].x+(Array[0].x+Array[n].x)/2; Array.push(Array.shaft()); } В таком случае прокрутка картинок движеться бесконечно в любом направлении, спасибо!))) |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:29. |
|
|
« Предыдущая тема | Следующая тема » |
|
|