|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Dec 2009
Сообщений: 29
|
Задача: Сделать анимацию сортировки пузырьком.
Я пробовал ее решить, но почему-то сначала делается весь цикл, а потом уже анимация.(
Создаю массив и дублирую мувиклипы, расставляя на свои места on (press) { delete (onEnterFrame); clear(); listbox.removeAll(); var m, i, j, n, a, b:int; n = parseInt(textn.text); a = parseInt(texta.text); b = parseInt(textb.text); var mas = array(n+1); if (dupl == 0) { for (j=1; j<(mas.length); j++) { duplicateMovieClip(_root.a1, "a"+j, j); dupl = 1; } } for (j=1; j<(mas.length); j++) { this["a"+j]._x = 50+60*j; } for (j=1; j<(mas.length); j++) { mas[j] = random(b-a+1)+a; listbox.addItem(mas[j]); this["text"+j].text = mas[j]; this["a"+j]["bar"]._height = mas[j]; this["a"+j]["txt"].text = mas[j]; } } on (press) { var x0 = 0; clear(); listbox.removeAll(); for (i=1; i<=n; i += 1) { for (j=n; j>=i; j -= 1) { x0 = this["a"+(j)]._x; if (mas[j-1]>mas[j]) { onEnterFrame = function () { if (this["a"+(j-1)]._x<>x0) { this["a"+(j)]._x -= 2; this["a"+(j-1)]._x += 2; } else { delete (onEnterFrame); } }; c = mas[j-1]; mas[j-1] = mas[j]; mas[j] = c; } } } for (i=1; i<=n; i += 1) { listbox.addItem(mas[i]); } } |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Это не код, а клинопись. Что такое ссылка на объект, автору неизвестно. Не говоря уже о том, что зачем-то переобъявляется onEnterFrame 100500 раз.
|
|
|||||
Регистрация: Dec 2009
Сообщений: 29
|
А вы бы не могли бы мне помочь разобраться? А не тупо сказать, что код не хороший. у меня времени не было изучать флеш с азов. За помощь буду благодарен.
|
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Вы думаете, что если у вас не было времени на изучение, то оно вдруг появится у меня на изучение вашей клинописи?
|
|
|||||
Регистрация: Dec 2009
Сообщений: 29
|
Почему это "Клинопись"? Я могу объяснить что вообще происходит. Или дайте свою идею о том, как можна организовать анимацию сортировки масива методом пузырька. Буду благодарен. Спасибо.
|
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Клинопись потому что вы 100500 раз копируете «this["a"+(j)]» в коде.
Сортировку пузырьком смотри в википедии. |
|
|||||
Регистрация: Dec 2009
Сообщений: 29
|
Мне именно нужна программная анимация сортировки.
Для этого я создалю разного размера мувиклипы (в зависимости от велечены значения в массиве) для наглядности сортировки. И создаю анимацию передвижения этих вот мувиклипов. Но у меня к сожалению ничего не получается. ИМЕННО АНИМАЦИЯ. |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Ну так повесьте на каждый клип по своему собственному onEnterFrame, хотя бы.
|
|
|||||
Регистрация: Dec 2009
Сообщений: 29
|
this["a"+(j)] - я обращаюсь к мувиклипам. Их именна соответственно а1, а2...ан
|
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Я понимаю, что обращаетесь к мувиклипам. Но вместо того, чтобы выделить ссылку на текущий мувиклип, вы хреначите копипастом это самое «this["a"+(j)]» в каждой строчке кода, увеличивая его безумность в геометрической прогрессии.
|
Часовой пояс GMT +4, время: 11:40. |
|
« Предыдущая тема | Следующая тема » |
|
|