SWiSH Forum
Forum użytkowników programów SWiSH

SWiSH Max - Problem z preloaderem

kurak12 - Wto 12 Lip, 2005 20:05
Temat postu: Problem z preloaderem
Mam pewien problem z preloaderem. Gdy go uruchamiam to gdy cały się załaduje to nie skaluje się tak jak powinien. Jest większy niż ten który ustawiłem. A dokładniej- mój preloader działa na tej zasadzie żę pod czas startu ustala długość tego paska na 0 a potem go skaluje do wielkości podanej na samym początku przezemnie. Czyli jeśli ustawiłem apsek o długośći 150 to skaluje do 150. Ale niestety tego nie robi. Wydłuża go ejszcze bardziej. Co mam zrobić.
O to kod:
Duszek z preloaderem:
Kod:

onLoad() {
 pasek._xscale=0;
 procenty._x=0;
 procenty.text='';
 pasek._visible=procenty._visible=false;
 _parent.main.loadMovie('main.swf');
}
onEnterFrame() {
    var bl=_parent.main.getBytesLoaded();
    var bt=_parent.main.getBytesTotal();
    var p=Math.round(Number(bl/bt*100));
    if(p>0 && bt>123) {
        pasek._visible=procenty._visible=true;
        pasek._xscale=p;
        procenty.text=p+'%';
        procenty._x=pasek._x+pasek._width;
        if(p==100) {
             _parent.play();
        }
    }
}


Scena:
Kod:

function killSprite(s) {
    this[s].swapDepths(1000);
    this[s].removeSprite();
}
onFrame (1) {
    stop();
}
onFrame (20) {
    stop();
    killSprite('loader');
    main.play();
}

nugatt - Sro 13 Lip, 2005 05:38

jakiś skomplikowany ten preloader.
ja mam taki
Kod:
onFrame (5,afterPlacedObjectEvents) {
    preloader.loadbar._xscale = _root.getPercentLoaded();
    lb0 = Math.round(_root.getbytesloaded()/1024) + "kb of " + Math.round(_root.getbytestotal()/1024) + "kb";
    tmr0 = "time on page: " + Math.round(getTimer()/1000) + " seconds";
    pl0 = _root.getpercentloaded() + "%";
    if (_root.getPercentLoaded() >= 100) {
        gotoSceneAndPlay("<current scene>",7);
    }
}
onFrame (6,afterPlacedObjectEvents) {
    prevFrameAndPlay();
}
onFrame (20) {
    nextSceneAndPlay();
}

można z niego wywalić to:
Kod:
    lb0 = Math.round(_root.getbytesloaded()/1024) + "kb of " + Math.round(_root.getbytestotal()/1024) + "kb";
    tmr0 = "time on page: " + Math.round(getTimer()/1000) + " seconds";
    pl0 = _root.getpercentloaded() + "%";
i jest jeszcze prościejszy. ale nie o to chodzi chyba.
u mnie loadbar to ten pasek preloadera, który się rozciąga. narysuj go w maksymalnych rozmiarach, jeżeli trzeba to zrób 'group as shape' żeby w zakładce transform miał 100%. ustawiasz odp. 'anchor point' zwykle top left. potem ustawiasz szerokość np. na 1% procent i powinno działać. ja mam coś takiego i mi działa

roland - Sro 13 Lip, 2005 06:06

Tak jak pisał nugatt, po narysowaniu pasek preloadera musi mieć 100%. Najprawdopodobniej narysowałeś go, a później ręcznie zmieniłeś jego rozmiar (a w zasadzie skalę) i stąd ten problem. Pamiętaj, że na przyborniku masz dwa przyciski, jeden do zmiany skali obiektu, a drugi do zmiany rozmiaru.
kurak12 - Sro 13 Lip, 2005 20:13

Dzięki teraz działa jak trzeba. Tylko procenty mi nie działają. Nie pokazuja się w ogóle. Chyba że znikają gdy osiągną wartośc 100%. Tak przy okazji może wiecie co zrobić żeby to pokazały mi się te procenty?
Z góry dzięki.


Powered by phpBB modified by Przemo © 2003 phpBB Group