|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
[+]
|
Как увеличить количество вложенностей рекурсии более чем 255?
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, время: 00:29. |
|
« Предыдущая тема | Следующая тема » |
|
|