![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
[+]
|
256 levels of recursion were exceeded in one action list.
This is probably an infinite loop. Further execution of actions has been disabled in this movie. Кому то знакомая фраза ? Проблема в рекурсивном обходе мувиклипов. Задача поставлена так что обьектов может быть и больше 255 и тут тупик СПАСИБО ТЕБЕ МАКРОМЕДИЯ.... флешь мувик прекращает фунциклить. кто знает может какието поднастройки флеша где можно указать максимальное количесво вложенностей в циклах и рекурисях или альтернативные методы решения всегда рады услышать...... |
|
|||||
|
Регистрация: Oct 2002
Адрес: Минск,Беларусь
Сообщений: 107
|
При помощи ActionScript это сделать невозможно.
А вообще (теоретически) реально. Во Flash-7 в swf-файлах появился специальный тег, в котором указывается предельное время выполнения кода и максимальная длина цепочки рекурсии. Если исхитриться (используя шестнадцатеричный редактор или Flexm) и изменить этот тег, то все получится. |
|
|||||
|
[+]
|
Где взять об этом теге данные или еще какую нибудь инфу?
где и как надо исправлять. Если есть то дай |
|
|||||
|
Регистрация: Jun 1999
Адрес: Moscow
Сообщений: 136
|
Ищи на macromedia.com файл flash_file_format_specification.pdf
Тебе нужен тег ScriptLimits Но тут одно но - через __bytecode__ ничего нельзя поправить. Так что изучай формат файла и правь вручную в hex-виде. |
|
|||||
|
Регистрация: Oct 2002
Адрес: Минск,Беларусь
Сообщений: 107
|
Кстати, что у тебя 256 уровней вложенности что-ли? Обход же нужно осуществлять так:
function obhod(clip){ for(var i in clip){ if(typeof clip[i]=="movieclip"){ trace(clip[i]); obhod(clip[i]) } } } |
|
|||||
|
Регистрация: Oct 2002
Адрес: Минск,Беларусь
Сообщений: 107
|
Кстати, что у тебя 256 уровней вложенности что-ли? Обход же нужно осуществлять так:
function obhod(clip){ for(var i in clip){ if(typeof clip[i]=="movieclip"){ trace(clip[i]); obhod(clip[i]) } } } obhod(_root); Тут может быть проблема не с тем, что клипов много, а с тем, что есть перекрестные ссылки. Но тут ничего не поможет ![]() |
|
|||||
|
[+]
|
Умница помог, научил с помощью цикла пройти по всем обьектам.
А если у тебя много критериальный обход и в критерий входит только пару обьектов из множества, что будешь каждый раз гонят цикл ? Тогда твой флешь тормоз. Не буду тебя лечить для чего нужна рекурсия, задача была впринципе была в другом, как увеличить глубину рекурсии и сделать ее больше 255. Парни до тебя поняли задачу и по делу писали. Всем спасибо Через FLASM 1.51 изменяю тег scriptLimits scriptLimits recursion 2000 timeout 10 И у меня в SWF макс глубина 2000 периуд ожидания 10 сек Все работает !!! |
|
|||||
|
2BAHUS: толь плохо я искал, но не нашол я "flash_file_format_specification.pdf", Если не трудно скинь на мыло, или примую линку дай
ЗЫ: без пива не оставлю ![]() |
|
|||||
|
[+]
|
http://www.macromedia.com/software/f.../license2.html
три метра кажися но сперва нужно зарегестриоваться и потом качать. А если честно я его скачал так открыл и закрыл ![]() |
|
|||||
|
[+]
|
http://www.macromedia.com/software/f.../license2.html
три метра кажися но сперва нужно зарегестриоваться и потом качать. А если честно я его скачал так открыл и закрыл не понадобиловь в шеснадцатеричный код вникать... |
![]() |
Часовой пояс GMT +4, время: 23:47. |
|
|
« Предыдущая тема | Следующая тема » |
|
|