Форум 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)
-   -   Проблема с Preloader'ом. (http://www.flasher.ru/forum/showthread.php?t=81870)

Nourox 28.06.2006 22:28

Проблема с Preloader'ом.
 
Preloader, в виде MovieClip'а, расположен в Scene 1, имеет следующий код:

Код:

onClipEvent (load) {
        totalBytes = _root.getBytesTotal();
        trace(totalBytes);
        totalKbytes = Math.ceil(totalBytes/1000);
}
onClipEvent (enterFrame) {
        loadedBytes = _root.getBytesLoaded();
        trace(loadedBytes);
        loadedKbytes = Math.ceil(loadedBytes/1000);
        percent = int((loadedBytes/totalBytes)*100);
       
        gotoAndStop(percent);
       
        if (loadedBytes == totalBytes) {
                gotoAndPlay("site",1);
        }
}

Сайт расположен в Scene 2 (назывется site).

Проблема: загружается только 70% флешки. Т.е. не смотря на то, что totalBytes определяется верно, сайт загружается не полностью.

Проблема возникает при использовании Scenes, чтобы отделить контент от прилоадера (что крайне не рекомендуется). Но в моём случае, использование Scenes просто необходимо!

Профи, подскажите, как избавиться от глюка?

iNils 28.06.2006 22:30

Вот честное слово, мне очень интересно, что такое загадочное может вынудить использовать сцены?

Nidl 28.06.2006 23:12

в качестве прелоадера поставь вот это будет достаточно :
Код:

stop();
_root.onEnterFrame = function() {
        if (_totalframes eq _framesloaded) {
                gotoAndPlay(2);
        }
        size = getBytesTotal();
        loaded = getBytesLoaded();
        percent = int(loaded/size*100);
};

Nourox а теперь усядься поудобней , я попробую тебе что то расказать , изпользуешь "сцены" хорошо , главное что бы ты оринтировался в них , так а теперь то что я хотел тебе сказать , слушай : допустим у тебя три сцены , в каждой по 10 кадров , то что бы тебе перейти на второю сцену необязательно прыгать по меткам , (шепотом от всех))) первый кадр второй сцены будет 11 номером отсюда значит первый кадр третьей сцены будет под 22 номером =)

Так если твоя первая сцена содержит один кадр ( внего кстати и код поставь ) то первый кадр второй сцены будет начинатся с 2йки )))

Nourox 29.06.2006 00:49

iNils

Всё очень просто. Сделал сайт. Сайт начинается с 1го кадра. Когда дело дошло до прилоадера, я пожалел, что не оставил свободных 5-10 кадров в начале timeline'a. Сдвигать все кадры, это значит переписывать все gotoAndPlay(frame) на сайте. И не факт, что потом всё будет правильно работать.

Воспользовался дополнительной сценой. Получил много ошибок типа _level.
Прочитал в Help'е, что пользоваться сценами не рекомендуется.

Код, который я привёл выше, отлично работает, когда в виде прилоадера отдельный MovieClip. И первым кадром timeline я могу пожертвовать. Но в дальнейшем процессе создания появилась потребность к плавному появлению и исчезновению прилоадера. А тут одним кадром не отделаешься.

Итак, я был вынужден использовать дополнительную сцену, что привело к глюку, о котором я писал выше.

Вот такой не лёгкий путь освоения Flash у новичка.

Nidl

Тебе человеческое спасибо за разъяснение свойств сцен. Честное слово, не знал, и думал что отдельная сцена - отдельный timeline.

И всё же, как исправить именно мой код?

А самое главное, почему загружается только 70% контента?

iNils 29.06.2006 01:04

Все что вы написали, говорит о том что вы прсото не владеете флешом на должном уровне. Сделать плавно исчезающий прелоадер модно как миминум двумя способами. Один программный (все делается одним кадром), второй запуском анимации.

Nourox 29.06.2006 01:18

iNils

Именно. Учусь и изучаю. Спрашиваю вашего совета и пишу в разделе для новичков.

Мне пока проще делать не программно, а с помощью анимации.

Хотя от примера-исходника никогда не откажусь.


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

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