Форум 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)
-   -   AttachMovie и прелоадер(чтобы как можно раньше начался) (http://www.flasher.ru/forum/showthread.php?t=68623)

Psychocat 01.09.2005 03:37

AttachMovie и прелоадер(чтобы как можно раньше начался)
 
АтачМуви удобная функция, но я использую в основном Дубликэйт, потому что когда мувик грузится, то сначала я так понимаю грузятся linkage export for action script мувики. Особенно это касается звука, кот. может быть 500+ кб.
А можно ли сделать, чтобы всё таки флэш сначала первый кадр с прелоадером загрузил, а потом уже всё остальное.?? А то получается первые 150кб висит пустой экран.
Update:
Наконец-то я разобрался :) Там когда ставишь Linkage стоит галочка по умолчанию Export in first frame! Галочку нужно убрать.
Теперь я снова буду использовать attachMovie
Update:
Ещё немаловажно то, что все мувики которые планируется АтачМуви загружать должны где-то в уже присутствовать в timeline. Может я опять чего не понял, но у меня если их в на линейке, то они и не загружаются.

ffffff 01.09.2005 10:04

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

Nео 01.09.2005 11:32

чтоб быстрее начался, лучше всего использовать внешний прелоадер!

iNils 01.09.2005 11:59

Цитата:

Сообщение от nео
чтоб быстрее начался, лучше всего использовать внешний прелоадер!

как раз хуже, в каждом подгружаемом мувике придется вставлять пролоадер

Nео 01.09.2005 12:16

Цитата:

Сообщение от iNils
как раз хуже, в каждом подгружаемом мувике придется вставлять пролоадер

возможно я не понял вопроса, но помоему здесь реч идет о том, что сначала должен закрузиться прелоадер, а потом остальной контент!
Поэтому я и советую сделать отдельным свф прелоадер, а потом в него грузить все остальное!

iNils 01.09.2005 12:43

Цитата:

Сообщение от nео
возможно я не понял вопроса, но помоему здесь реч идет о том, что сначала должен закрузиться прелоадер, а потом остальной контент!
поэтому я и советую сделать отдельным свф прелоадер, а потом в него грузить все остальное!

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

Nео 01.09.2005 13:20

Цитата:

Сообщение от iNils
а зачем прелоадер подгружать, когда его можно сразу вставить в основной клип?

блин.... теперь ты меня не понял :)
делаем так:
1)
Цитата:

А можно ли сделать, чтобы всё таки флэш сначала первый кадр с прелоадером загрузил, а потом уже всё остальное.?? А то получается первые 150кб висит пустой экран.
Первый кадр (с прелоадером) убираем нафиг!!! Остальное сохраняем! компилим!
2)делаем новый свф в котором пишем что-то вроде:
this.createEmptyMovieClip("preloader_mc", this.getNextHighestDepth());
this.preloader_mc.createTextField("percentReadout_txt", this.preloader_mc.getNextHighestDepth(), 0, 0, 50, 20);
//_root.attachMovie("preloader", "preloader_mc", 0);
preloader_mc._x = 300;
preloader_mc._y = 200;
var s = this.createEmptyMovieClip("swfProxy_mc", 1);
var my_mcl = new MovieClipLoader();
myListener = new Object();
myListener.onLoadStart = function(target_mc) {
var loadProgress = my_mcl.getProgress(target_mc);
var percent = "0";
preloader_mc.percentReadout_txt.text = percent+"%";
};
myListener.onLoadProgress = function(target_mc, loadedBytes, totalBytes) {
var percent = Math.round(loadedBytes/totalBytes*100);
preloader_mc.percentReadout_txt.text = percent+"%";
};
myListener.onLoadComplete = function(target_mc) {
var loadProgress = my_mcl.getProgress(target_mc);
var percent = Math.round(loadProgress.bytesLoaded/loadProgress.bytesTotal*100);
preloader_mc.percentReadout_txt.text = "done";
};
myListener.onLoadInit = function(target_mc) {
target_mc.play();
_root.preloader_mc.removeMovieClip();
};
my_mcl.addListener(myListener);
my_mcl.loadClip("http://.../my_swf.swf?"+Math.random()*100, s);

Psychocat 01.09.2005 14:33

Хм... Внешний прелоадер. Надо попробовать, но это не очень хороший вариант. Когда мои игрушки будут ставить на других сайтах, там вообще прелоадера не будет.
Наконец-то я разобрался! Там когда ставишь Linkage стоит галочка по умолчанию Export in first frame! Так я думал, что это значит, что мувик будет загружаться и играться с первого кадра.
P.S.
Neo ты код писал для AS2? Я пока на флэш МХ. У меня таких штуковин, как getNextHighestDepth() loadClip() нету :(
Спасибо!

Бармалей 01.09.2005 14:52

getNextHighestDepth() - это шестерка,
класс MovieClipLoader - семерка

Nео 01.09.2005 14:52

Цитата:

Сообщение от Psychocat
Хм... Внешний прелоадер. Надо попробовать, но это не очень хороший вариант. Когда мои игрушки будут ставить на других сайтах, там вообще прелоадера не будет.

Ну тогда конечно не подходит!
Цитата:

Сообщение от Psychocat
P.S.Neo ты код писал для AS2? Я пока на флэш МХ. У меня таких штуковин, как getNextHighestDepth() loadClip() нету :(
Спасибо!

Да. Если работаешь с шестеркой, то можно использовать вместо каласса MovieClipLoader loadMovie, а вместо getNextHighestDepth() просто ставить уровни (хотя в шестерке getNextHighestDepth() помоему есть, но может я и ошибаюсь :) ), но луше поставь 2004 MX, тем более, что уже есть 8-й флэш!


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

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