Temat: rozpoczecie animacji od okreslonej klatki

Witam, czy jest jakiś prosty sposób na ustawienie rozpoczynania animacji od oktreślonej klatki?
Spróbowałem w pierwszej klatec dać komendę action goto("klatka"), ale po opublikowaniu animacji na stronie (zaznaczam ze to bardzo duza animacja - ok 6 tys klatek, kilka tys wartsw) animacja rozpoczynała się za każdym razem w innym miejscu... Być może spowodowane jest to długim wgrywaniem się animacji... Nie wiem.. Może ktoś mógłby coś podpowiedzieć??
Pozdrawiam
Michał
Jakub K.

Jakub K. iOS developer

Temat: rozpoczecie animacji od okreslonej klatki

a jakis preloader jest? jesli tak to po zakonczeniu ladowania dopiero zrobic gotoAndPlay(nrklatki)

Temat: rozpoczecie animacji od okreslonej klatki

preloadera nie ma...
Jeżeli wstawie preloadera i za nim goto and play to powinno pomóc?
Pozdr
Arkadiusz Sołdon

Arkadiusz Sołdon graphic
designer&flash
developer

Temat: rozpoczecie animacji od okreslonej klatki

tak, robisz najprostszego preloadera w pętli w pierwszych 2 klatkach (w 1 klatce
_root.getbytestotal(); i getbytesloaded();
i funkcję if do tego:

if(getbytestotal();>=getbytesloaded();){
gotoAndPlay('twoaj kaltka');
}
) a w 2 kaltce dajesz pętle ( gotoAndPlay(1);)

powinno chodzić :)

pozdrawiam
Marcin W.

Marcin W.
TI/IT/VM/HT/PC/XP/AD
/SE/XL/XE/AS/TB/CP/J
S/JV

Temat: rozpoczecie animacji od okreslonej klatki

Arkadiusz Sołdon:
>
if(getbytestotal();>=getbytesloaded();){
>...

powinno chodzić :)
oj... wątpię...
Arkadiusz Sołdon

Arkadiusz Sołdon graphic
designer&flash
developer

Temat: rozpoczecie animacji od okreslonej klatki

no dobra dokładniej tak:

if (_root.getBytesLoaded()>=_root.getBytesTotal()) {
gotoAndPlay ('tutaj twoja klatka');
}
Marcin W.

Marcin W.
TI/IT/VM/HT/PC/XP/AD
/SE/XL/XE/AS/TB/CP/J
S/JV

Temat: rozpoczecie animacji od okreslonej klatki

Arkadiusz Sołdon:
no dobra dokładniej tak:

if (_root.getBytesLoaded()>=_root.getBytesTotal()) {
gotoAndPlay ('tutaj twoja klatka');
}
wątpię...

Temat: rozpoczecie animacji od okreslonej klatki

ok dzieki, juz sie udało
Marcin W.

Marcin W.
TI/IT/VM/HT/PC/XP/AD
/SE/XL/XE/AS/TB/CP/J
S/JV

Temat: rozpoczecie animacji od okreslonej klatki

mam nadzieję, że nie zastosowałeś tego preloadera, który kolega zaproponował ?

Po pierwsze: nie uwzględnia on "stanu nieodgadnionego", który czasami zdarza się przy ładowaniu swfów - tj. getBytesLoaded jest większy od getBytesTotal, przy czym getBytesTotal nie wskazuje właściwej wielkości klipu, a jakieś "śmieci", dlatego dodaje się dodatkowy warunek - całość powinna wyglądać tak:


var playmovie = true;
//lub:
//var playmovie = false; gdy ma być wykonane gotoAndStop
//
var targetFrame = 4;
function myLoader (_mc:MovieClip) {
//
var gL = _mc.getBytesLoaded ();
var gB = _mc.getBytesTotal ();
//
if ((gL >= gB) && (gB > 123))
{
if (playmovie) {
_mc.gotoAndPlay (targetframe);
} else {
_mc.gotoAndStop (targetframe);
}
delete this.onEnterFrame;
}
else
{
//dla wizualizacji
conter_percent.text = int (100 * gL / gB);
}
}
this.onEnterFrame = function () {
myLoader (this);
};

Po drugie: jeżeli Twoja animacja nie jest na _root'cie (LUDZIE!!! kiedy oduczycie się stosować tego słowa we własnych projektach!!! Co zwraca _root, gdy się zrobi trace(_root); - co ? chyba nie "_root" tylko określony poziom, prawda ?) to loader nie zadziała, ponieważ wszystko, cokolwiek jest w pierwszej klatce (np. embedowane fonty, obiekty biblioteczne itp.) będzie ładowane, zanim zainicjuje się skrypt zawarty w pierwszej klatce - dlatego też mamy tyle swfów, w którym loadery zaczynają się od 70% i więcej.

W moim skrypcie zakładając, że znajduje się on z klipem ładowanym w klatce innej niż pierwsza klatka _level0 (a więc właściwszy odpowiednik _root'a) wystarczy zmienić zawartość onEnterFrame na taką:
this.onEnterFrame = function () {
myLoader (this.movieClipInstanceName);
};

gdzie movieClipInstanceName to nazwa nadana klipowi z animacją w polu instanceName zakładki properties - by załadowany klip był obsłużony od razu podczas ładowania.

...a poza tym, to od dwóch wersji flasha mamy coś cudownego, co się nazywa MovieClipLoader i praktycznie rzecz biorąc wszystko co podałem powyżej załatwia za nas - wystarczy tylko nauczyć się przykładów zawartych w helpie flasha.MaW Marcin W. edytował(a) ten post dnia 15.06.08 o godzinie 16:25

Temat: rozpoczecie animacji od okreslonej klatki

Preloader który zastosowałem wygląda tak: (i działa prawidłowo)

myLoaded = Math.round(getBytesLoaded());
myTotal = Math.round(getBytesTotal());
myPercent = myLoaded/myTotal;
myBar._width = myPercent*150;
myText = Math.round(myPercent*100)+"%";
if (myLoaded == myTotal) {
gotoAndStop(7);
} else {
gotoAndPlay(1);

Pozdrawiam
Michal
Marcin W.

Marcin W.
TI/IT/VM/HT/PC/XP/AD
/SE/XL/XE/AS/TB/CP/J
S/JV

Temat: rozpoczecie animacji od okreslonej klatki

krótka poprawka do warunku (ta obsługująca "stan nieodgadniony") powinna spowodować uruchomienie w każdych warunkach:
if ((myLoaded == myTotal) && (myTotal >= 123)) {

w tym zastosowanym przypadku getBytesTotal() i getBytesLoaded() odnoszą się do bieżącego poziomu (bieżącego timeline) wywołania, więc możesz je utożsamiać z wywołaniem this.getBytesTotal() i this.getBytesLoaded() (czyli to co zastosowałeś jest o niebo lepsze niż uzależnianie od _root'a). Tak samo gotoAndStop bez wskazania poziomu (klipu) działania będzie działać domyślnie z this'em, co wskazywało by na to, że Twoja animacja jest na głównym timeline.

No i wywaliłbym Math.round() z pobierania myLoaded i myTotal - bo z założenia są one całoliczbowe - patrz help flasha.MaW Marcin W. edytował(a) ten post dnia 16.06.08 o godzinie 07:51
Piotr Danielewicz

Piotr Danielewicz front-end developer,
Media 4 U

Temat: rozpoczecie animacji od okreslonej klatki

Może to trochę z wykopalisk, ale co by było gdyby użyć czegoś takiego?

ifFrameLoaded([scene:String], frame) {
statement(s);
}
Marcin W.

Marcin W.
TI/IT/VM/HT/PC/XP/AD
/SE/XL/XE/AS/TB/CP/J
S/JV

Temat: rozpoczecie animacji od okreslonej klatki

http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimp...
Piotr Danielewicz

Piotr Danielewicz front-end developer,
Media 4 U

Temat: rozpoczecie animacji od okreslonej klatki

No cóż, zawsze warto spróbować ;)
Piotr Mederak

Piotr Mederak Development Team
Leader

Temat: rozpoczecie animacji od okreslonej klatki

dzisiz...

jak dzieci.

przypomina mi sie cytat z "Dnia Swira":

"Bo moja jest tylko racja i to święta racja, a nawet jeśli jest twoja, to moja racja jest bardziej mojsza niż twojsza, bo to właśnie moja racja jest racja najmojsza!".

:)
Piotr Danielewicz

Piotr Danielewicz front-end developer,
Media 4 U

Temat: rozpoczecie animacji od okreslonej klatki

Piotr Mederak:
dzisiz...

jak dzieci.

przypomina mi sie cytat z "Dnia Swira":

:)

Nie skąsałem intrygi...

Następna dyskusja:

pause i play przy animacji




Wyślij zaproszenie do