PDA

Просмотр полной версии : в чем дело?


Seminole
19.12.2006, 04:16
привет, меня интерисует один небольшой вопрос...я не так хорошо рабираюсь в флешь, но стремлюсь к этому))) вопрос такой - я сделал страничку и загрузчик почему-то начинает показывать сколько он загрузил процентов примерно с 50% почему так? почему не сначало? :boredom: объясните плз
вот адрес странички www.claninteam.by.ru

Kikasso
19.12.2006, 06:14
Почему-то.
Исходник-то предъяви. Может у тебя прелоадер больше чем контент.

Aziz Zaynutdinoff
19.12.2006, 10:10
потому что при установке Export for ActionScript необходимо снимать галку Export in first frame. Если галка стоит то всё что (Export in first frame) грузиться с первым кадром.

CorC
19.12.2006, 10:26
может у тебя рисунки все в 1 кадре? :)

Infectedcell
19.12.2006, 11:59
потому что при установке Export for ActionScript необходимо снимать галку Export in first frame. Если галка стоит то всё что (Export in first frame) грузиться с первым кадром.
Ага,
и в Паблиш сетингс не забыть поправить, как минимум на загрузку линкованых МС во второй кадр....

3vc
20.12.2006, 12:23
угу все правильно сказали.

Вот только могут быть проблемы, если код написан так чтобы вытаскивать клипы из библиотеки. Все переделать будет не очень легко, есть путь решения.
Убрать из Linkage @Export in first frame@, затем поместиить вызвываемые с помощью AttachMovie клипы во второй фрейм в какой-нибудь один мувик за пределами stage (чтобы их видно не было). После чего брать их оттуда с помощью duplicateMovieClip().
Угу довольно сложно, но эффективно.

Но все равно вопрос не решится. Если посмотреть Size Report - будет видно, что первый фрейм занимает допустим 20кб, а второй 180. Все равно загрузка будет начинаться с 10%. Как это исправить. Выкладываю скрипт прелоадера.

onClipEvent (load) {
bytes_total = _root.getBytesTotal();
offset_bytes = _root.getBytesLoaded();
}
onClipEvent (enterFrame) {
if (offset_bytes_bytes != undefined) {
loaded = _root.getBytesLoaded();
percent = Math.floor((loaded-offset_bytes)/(bytes_total-offset_bytes)*100);

//----------вывод процентов и т.д.

if (loaded>=total) {
_parent.gotoAndPlay(2);
}
}
}


Вот, с нуля процентов и до 100:)

CorC
20.12.2006, 12:28
function Loading() {
var sec=10000;
loadline._visible = true;
Load = this.getBytesLoaded();
Total = this.getBytesTotal();
var time=getTimer()-GlobalTime;
if(Load>=Total*time/sec){Load=Total*time/sec;};
KB.text = "Loading... ("+Math.round(100*Load/Total)+"%)";
if (Total<=Load) {
loadline._xscale = 100*Load/Total;
gotoAndStop("scene", 3);
} else {
loadline._xscale = 100*Load/Total;
}
}

это мой прелоадер и я на ниго никогда не жаловался :)
GlobalTime определяется как раз перед загрузкой
Loading можно повесить хоть на чего :)