Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Клипы на сцене (http://www.flasher.ru/forum/showthread.php?t=113428)

Ruffus 27.06.2008 22:22

Клипы на сцене
 
У меня по логике пиложения существует вложенность клипов. В результате в одном из клипов этой иерархии создаётся большое количество маленьких клипов. Но по практике я вижу, что дело не в их сложности, а именно в количестве. Вопрос такой. Сколько клипов я могу расположить на сцене? Какие существуют ограничения на вложенность?

Alex_beginner 28.06.2008 17:03

Здравствуйте Ruffus!

Собственно теоретически нет ограничений на глубину вложенности. Однако, если Вы создадите множество клипов с различными глубинами вложенности это может привести к преждевременному "коллапсу" и скоропостижной "смерти" FlashPlayer'а.:)

Ruffus 29.06.2008 13:05

У меня, естественно, у всех клипов различная глубина. Чем дальше, тем выше. Но вложенности там запредельной нет, уровня 3-4. Фишка в том, что когда на соотв-м уровне количество клипов около тысячи, флэш подвисает, подом выдаёт сообщение с вопросом об аборте загрузки мувика.

iNils 29.06.2008 13:16

Цитата:

Сообщение от Ruffus (Сообщение 748590)
количество клипов около тысячи

Для as1/as2 это слишком много. Создавайте не за раз, а в течении какого то времени (по 100-200 за один кадр). А теоретически можно создать 1064960 клипов в каждом клипе.

Ruffus 29.06.2008 16:43

То есть это слишком большая нагрузка на кадр? Предлагаете по мере создания клипов переключаться на следующие кадры?

Ruffus 30.06.2008 12:06

я создал в мувике десять пустых кадров, переключаю их по мере создания кучи клипов. Проблема не решилась, только неприятные эффекты появились вроде перемигивания самого мувика.

Psycho Tiger 30.06.2008 14:20

Цитата:

Сообщение от Ruffus (Сообщение 748635)
То есть это слишком большая нагрузка на кадр? Предлагаете по мере создания клипов переключаться на следующие кадры?

Нет никакой нагрузки на кадр. Поясню:
Код:

i=100000;
while (i--){ }

Флэш пока не выолнит этот скрипт - ничего делать не будет. Но выполнение может идти слишком долго - и пользователю предлагают убить этот скрипт.
Если создавать их через временной интервал - то он создат быстренько 100 мувиков, передохнет чуток, снова сделает - снова передохнет. Есть отдых - значит он не завис, и скрипт убивать не нужно.
Цитата:

я создал в мувике десять пустых кадров, переключаю их по мере создания кучи клипов. Проблема не решилась, только неприятные эффекты появились вроде перемигивания самого мувика.
INils имел ввиду создавать их через onEnterFrame, как я понял
То есть
Код:

i=0;
onEnterFrame=function(){
createMyMovieClips(from i to i+100);
i+=100;
if (i>=toBig) delete onEnterFrame;
}

Но я бы сделал это через setInterval, имхо лучше.

ЗЫ извиняюсь за отсуствие типизации, ибо все равно код никому не нужный - показан чисто для примера.

iNils 30.06.2008 17:06

Цитата:

Сообщение от Psycho Tiger (Сообщение 748902)
Но я бы сделал это через setInterval, имхо лучше.

Это миф.

Alex_beginner 30.06.2008 17:11

Ruffus! Тут нужно понять, что на Выполнение кода кадра отводится 15 секунд, апосля Флеш выдает предупреждающее сообщение о том, что код тормозит выполнение приложения и предлагает выбор - продолжить выполнение скрипта или нет.

Для решения этой проблемы есть два пути. Первый вариант - создать 3 кадра, т.е. цикл в трех кадрах организовать. В первом - инициализация переменных цикла, второй - тело цикла, а также проверка счетчика (условия) цикла, третий - переход на второй кадр.

Второй вариант - тот, что предложил iNils и PsichoTiger - onEnterFrame (нужен самостоятельный контроль времени выполнения) или setInterval (контроль реализуется функцией)

Psycho Tiger 30.06.2008 17:47

Цитата:

Сообщение от iNils (Сообщение 748945)
Это миф.

Вовсе не миф, прям сейчас пойду и сделаю :D

Чем хуже-то?


Часовой пояс GMT +4, время: 04:41.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.